// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g 2012-11-05 11:42:43

  package practica7;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class YACCParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALMOHADILLA", "AND", "ASTERISCO", "BLANCO", "BREAK", "CADENA", "CHAR", "COMA", "COMENTARIO", "COMENTARIO_A", "COMENTARIO_C", "COMILLA", "COMILLAS", "COND_AND", "COND_OR", "CONTINUE", "CORCHETE_A", "CORCHETE_C", "DECREMENTO", "DEFINIR", "DIGITO", "DOBLE", "DOLAR", "DOS_PUNTOS", "ELSE", "EXTENSION", "FOR", "GUION", "IDENT", "IF", "IGUAL", "IGUALQUE", "INCLUIR", "INCREMENTO", "INT", "INTERVALO", "LEFT", "LETRA", "LLAVE_A", "LLAVE_C", "MAYORIGUALQUE", "MAYORQUE", "MENORIGUALQUE", "MENORQUE", "NONASSOC", "NOT", "NUEVOBLOQUE", "NUMERO", "OR", "PARENTESIS_A", "PARENTESIS_C", "PORCENTAJE", "PRINTF", "PSEUDOVAR", "PUNTO", "PUNTO_COMA", "RECORD", "REGISTRO", "RET", "RIGHT", "SIMBOLO", "SLASH", "SLASH_INV", "START", "SUMA", "TIPODEF", "TOKEN", "TYPE", "UNION", "VALOR", "VOID", "WHILE", "CORCHETES"
    };

    public static final int EOF=-1;
    public static final int ALMOHADILLA=4;
    public static final int AND=5;
    public static final int ASTERISCO=6;
    public static final int BLANCO=7;
    public static final int BREAK=8;
    public static final int CADENA=9;
    public static final int CHAR=10;
    public static final int COMA=11;
    public static final int COMENTARIO=12;
    public static final int COMENTARIO_A=13;
    public static final int COMENTARIO_C=14;
    public static final int COMILLA=15;
    public static final int COMILLAS=16;
    public static final int COND_AND=17;
    public static final int COND_OR=18;
    public static final int CONTINUE=19;
    public static final int CORCHETE_A=20;
    public static final int CORCHETE_C=21;
    public static final int DECREMENTO=22;
    public static final int DEFINIR=23;
    public static final int DIGITO=24;
    public static final int DOBLE=25;
    public static final int DOLAR=26;
    public static final int DOS_PUNTOS=27;
    public static final int ELSE=28;
    public static final int EXTENSION=29;
    public static final int FOR=30;
    public static final int GUION=31;
    public static final int IDENT=32;
    public static final int IF=33;
    public static final int IGUAL=34;
    public static final int IGUALQUE=35;
    public static final int INCLUIR=36;
    public static final int INCREMENTO=37;
    public static final int INT=38;
    public static final int INTERVALO=39;
    public static final int LEFT=40;
    public static final int LETRA=41;
    public static final int LLAVE_A=42;
    public static final int LLAVE_C=43;
    public static final int MAYORIGUALQUE=44;
    public static final int MAYORQUE=45;
    public static final int MENORIGUALQUE=46;
    public static final int MENORQUE=47;
    public static final int NONASSOC=48;
    public static final int NOT=49;
    public static final int NUEVOBLOQUE=50;
    public static final int NUMERO=51;
    public static final int OR=52;
    public static final int PARENTESIS_A=53;
    public static final int PARENTESIS_C=54;
    public static final int PORCENTAJE=55;
    public static final int PRINTF=56;
    public static final int PSEUDOVAR=57;
    public static final int PUNTO=58;
    public static final int PUNTO_COMA=59;
    public static final int RECORD=60;
    public static final int REGISTRO=61;
    public static final int RET=62;
    public static final int RIGHT=63;
    public static final int SIMBOLO=64;
    public static final int SLASH=65;
    public static final int SLASH_INV=66;
    public static final int START=67;
    public static final int SUMA=68;
    public static final int TIPODEF=69;
    public static final int TOKEN=70;
    public static final int TYPE=71;
    public static final int UNION=72;
    public static final int VALOR=73;
    public static final int VOID=74;
    public static final int WHILE=75;
    public static final int CORCHETES=76;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public YACCParser(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public YACCParser(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return YACCParser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g"; }



         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }



    // $ANTLR start "entrada"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:1: entrada : ( primerbloque )? segundobloque ( tercerbloque )? ;
    public final void entrada() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:8: ( ( primerbloque )? segundobloque ( tercerbloque )? )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:10: ( primerbloque )? segundobloque ( tercerbloque )?
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:10: ( primerbloque )?
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==PORCENTAJE) ) {
                alt1=1;
            }
            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:10: primerbloque
                    {
                    pushFollow(FOLLOW_primerbloque_in_entrada58);
                    primerbloque();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            pushFollow(FOLLOW_segundobloque_in_entrada61);
            segundobloque();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:38: ( tercerbloque )?
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==NUEVOBLOQUE) ) {
                alt2=1;
            }
            switch (alt2) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:30:38: tercerbloque
                    {
                    pushFollow(FOLLOW_tercerbloque_in_entrada63);
                    tercerbloque();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada"



    // $ANTLR start "primerbloque"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:36:1: primerbloque : declaraciones ;
    public final void primerbloque() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:36:13: ( declaraciones )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:36:15: declaraciones
            {
            pushFollow(FOLLOW_declaraciones_in_primerbloque75);
            declaraciones();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "primerbloque"



    // $ANTLR start "declaraciones"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:37:3: declaraciones : seccion ( declaracionvar )* ;
    public final void declaraciones() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:37:16: ( seccion ( declaracionvar )* )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:37:18: seccion ( declaracionvar )*
            {
            pushFollow(FOLLOW_seccion_in_declaraciones83);
            seccion();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:37:26: ( declaracionvar )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==LEFT||LA3_0==NONASSOC||LA3_0==RIGHT||LA3_0==START||(LA3_0 >= TOKEN && LA3_0 <= UNION)) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:37:26: declaracionvar
            	    {
            	    pushFollow(FOLLOW_declaracionvar_in_declaraciones85);
            	    declaracionvar();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "declaraciones"



    // $ANTLR start "seccion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:5: seccion : PORCENTAJE LLAVE_A ( incluir | record | defvar )* PORCENTAJE LLAVE_C ;
    public final void seccion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:12: ( PORCENTAJE LLAVE_A ( incluir | record | defvar )* PORCENTAJE LLAVE_C )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:14: PORCENTAJE LLAVE_A ( incluir | record | defvar )* PORCENTAJE LLAVE_C
            {
            match(input,PORCENTAJE,FOLLOW_PORCENTAJE_in_seccion96); if (state.failed) return ;

            match(input,LLAVE_A,FOLLOW_LLAVE_A_in_seccion98); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:33: ( incluir | record | defvar )*
            loop4:
            do {
                int alt4=4;
                switch ( input.LA(1) ) {
                case ALMOHADILLA:
                    {
                    alt4=1;
                    }
                    break;
                case TIPODEF:
                    {
                    alt4=2;
                    }
                    break;
                case CHAR:
                case DOBLE:
                case INT:
                case INTERVALO:
                case REGISTRO:
                case VOID:
                    {
                    alt4=3;
                    }
                    break;

                }

                switch (alt4) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:34: incluir
            	    {
            	    pushFollow(FOLLOW_incluir_in_seccion101);
            	    incluir();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:42: record
            	    {
            	    pushFollow(FOLLOW_record_in_seccion103);
            	    record();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;
            	case 3 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:38:49: defvar
            	    {
            	    pushFollow(FOLLOW_defvar_in_seccion105);
            	    defvar();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);


            match(input,PORCENTAJE,FOLLOW_PORCENTAJE_in_seccion109); if (state.failed) return ;

            match(input,LLAVE_C,FOLLOW_LLAVE_C_in_seccion111); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "seccion"



    // $ANTLR start "incluir"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:39:7: incluir : ALMOHADILLA INCLUIR var_ang ;
    public final void incluir() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:39:14: ( ALMOHADILLA INCLUIR var_ang )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:39:16: ALMOHADILLA INCLUIR var_ang
            {
            match(input,ALMOHADILLA,FOLLOW_ALMOHADILLA_in_incluir123); if (state.failed) return ;

            match(input,INCLUIR,FOLLOW_INCLUIR_in_incluir125); if (state.failed) return ;

            pushFollow(FOLLOW_var_ang_in_incluir127);
            var_ang();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "incluir"



    // $ANTLR start "record"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:40:7: record : TIPODEF RECORD IDENT cuerpodeclaracion ;
    public final void record() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:40:13: ( TIPODEF RECORD IDENT cuerpodeclaracion )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:40:15: TIPODEF RECORD IDENT cuerpodeclaracion
            {
            match(input,TIPODEF,FOLLOW_TIPODEF_in_record139); if (state.failed) return ;

            match(input,RECORD,FOLLOW_RECORD_in_record141); if (state.failed) return ;

            match(input,IDENT,FOLLOW_IDENT_in_record143); if (state.failed) return ;

            pushFollow(FOLLOW_cuerpodeclaracion_in_record145);
            cuerpodeclaracion();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "record"



    // $ANTLR start "cuerpodeclaracion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:9: cuerpodeclaracion : LLAVE_A ( defvar )* LLAVE_C ( INTERVALO PUNTO_COMA )? ;
    public final void cuerpodeclaracion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:26: ( LLAVE_A ( defvar )* LLAVE_C ( INTERVALO PUNTO_COMA )? )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:28: LLAVE_A ( defvar )* LLAVE_C ( INTERVALO PUNTO_COMA )?
            {
            match(input,LLAVE_A,FOLLOW_LLAVE_A_in_cuerpodeclaracion159); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:36: ( defvar )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==CHAR||LA5_0==DOBLE||(LA5_0 >= INT && LA5_0 <= INTERVALO)||LA5_0==REGISTRO||LA5_0==VOID) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:36: defvar
            	    {
            	    pushFollow(FOLLOW_defvar_in_cuerpodeclaracion161);
            	    defvar();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            match(input,LLAVE_C,FOLLOW_LLAVE_C_in_cuerpodeclaracion164); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:52: ( INTERVALO PUNTO_COMA )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==INTERVALO) ) {
                int LA6_1 = input.LA(2);

                if ( (LA6_1==PUNTO_COMA) ) {
                    alt6=1;
                }
            }
            switch (alt6) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:41:53: INTERVALO PUNTO_COMA
                    {
                    match(input,INTERVALO,FOLLOW_INTERVALO_in_cuerpodeclaracion167); if (state.failed) return ;

                    match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_cuerpodeclaracion169); if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cuerpodeclaracion"



    // $ANTLR start "defvar"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:7: defvar : tipo ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? ( COMA ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? )* PUNTO_COMA ;
    public final void defvar() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:13: ( tipo ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? ( COMA ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? )* PUNTO_COMA )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:15: tipo ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? ( COMA ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? )* PUNTO_COMA
            {
            pushFollow(FOLLOW_tipo_in_defvar183);
            tipo();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:20: ( ASTERISCO )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==ASTERISCO) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:20: ASTERISCO
                    {
                    match(input,ASTERISCO,FOLLOW_ASTERISCO_in_defvar185); if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:31: ( IDENT | ident_vector )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==IDENT) ) {
                int LA8_1 = input.LA(2);

                if ( (LA8_1==COMA||LA8_1==IGUAL||LA8_1==PARENTESIS_A||LA8_1==PUNTO_COMA) ) {
                    alt8=1;
                }
                else if ( (LA8_1==CORCHETE_A) ) {
                    alt8=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 8, 1, input);

                    throw nvae;

                }
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;

            }
            switch (alt8) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:32: IDENT
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_defvar189); if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:38: ident_vector
                    {
                    pushFollow(FOLLOW_ident_vector_in_defvar191);
                    ident_vector();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:52: ( PARENTESIS_A PARENTESIS_C )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==PARENTESIS_A) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:53: PARENTESIS_A PARENTESIS_C
                    {
                    match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_defvar195); if (state.failed) return ;

                    match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_defvar197); if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:82: ( IGUAL ( NUMERO | IDENT ) )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==IGUAL) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:83: IGUAL ( NUMERO | IDENT )
                    {
                    match(input,IGUAL,FOLLOW_IGUAL_in_defvar203); if (state.failed) return ;

                    if ( input.LA(1)==IDENT||input.LA(1)==NUMERO ) {
                        input.consume();
                        state.errorRecovery=false;
                        state.failed=false;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        throw mse;
                    }


                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:106: ( COMA ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )? )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==COMA) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:107: COMA ( ASTERISCO )? ( IDENT | ident_vector ) ( PARENTESIS_A PARENTESIS_C )? ( IGUAL ( NUMERO | IDENT ) )?
            	    {
            	    match(input,COMA,FOLLOW_COMA_in_defvar214); if (state.failed) return ;

            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:112: ( ASTERISCO )?
            	    int alt11=2;
            	    int LA11_0 = input.LA(1);

            	    if ( (LA11_0==ASTERISCO) ) {
            	        alt11=1;
            	    }
            	    switch (alt11) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:112: ASTERISCO
            	            {
            	            match(input,ASTERISCO,FOLLOW_ASTERISCO_in_defvar216); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:123: ( IDENT | ident_vector )
            	    int alt12=2;
            	    int LA12_0 = input.LA(1);

            	    if ( (LA12_0==IDENT) ) {
            	        int LA12_1 = input.LA(2);

            	        if ( (LA12_1==COMA||LA12_1==IGUAL||LA12_1==PARENTESIS_A||LA12_1==PUNTO_COMA) ) {
            	            alt12=1;
            	        }
            	        else if ( (LA12_1==CORCHETE_A) ) {
            	            alt12=2;
            	        }
            	        else {
            	            if (state.backtracking>0) {state.failed=true; return ;}
            	            NoViableAltException nvae =
            	                new NoViableAltException("", 12, 1, input);

            	            throw nvae;

            	        }
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        NoViableAltException nvae =
            	            new NoViableAltException("", 12, 0, input);

            	        throw nvae;

            	    }
            	    switch (alt12) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:124: IDENT
            	            {
            	            match(input,IDENT,FOLLOW_IDENT_in_defvar220); if (state.failed) return ;

            	            }
            	            break;
            	        case 2 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:130: ident_vector
            	            {
            	            pushFollow(FOLLOW_ident_vector_in_defvar222);
            	            ident_vector();

            	            state._fsp--;
            	            if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:144: ( PARENTESIS_A PARENTESIS_C )?
            	    int alt13=2;
            	    int LA13_0 = input.LA(1);

            	    if ( (LA13_0==PARENTESIS_A) ) {
            	        alt13=1;
            	    }
            	    switch (alt13) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:145: PARENTESIS_A PARENTESIS_C
            	            {
            	            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_defvar226); if (state.failed) return ;

            	            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_defvar228); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:174: ( IGUAL ( NUMERO | IDENT ) )?
            	    int alt14=2;
            	    int LA14_0 = input.LA(1);

            	    if ( (LA14_0==IGUAL) ) {
            	        alt14=1;
            	    }
            	    switch (alt14) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:42:175: IGUAL ( NUMERO | IDENT )
            	            {
            	            match(input,IGUAL,FOLLOW_IGUAL_in_defvar234); if (state.failed) return ;

            	            if ( input.LA(1)==IDENT||input.LA(1)==NUMERO ) {
            	                input.consume();
            	                state.errorRecovery=false;
            	                state.failed=false;
            	            }
            	            else {
            	                if (state.backtracking>0) {state.failed=true; return ;}
            	                MismatchedSetException mse = new MismatchedSetException(null,input);
            	                throw mse;
            	            }


            	            }
            	            break;

            	    }


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);


            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_defvar246); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "defvar"



    // $ANTLR start "declaracionvar"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:5: declaracionvar : reservadas ( ( cuerpodeclaracion ) | ( ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )* ) ) ;
    public final void declaracionvar() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:19: ( reservadas ( ( cuerpodeclaracion ) | ( ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )* ) ) )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:21: reservadas ( ( cuerpodeclaracion ) | ( ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )* ) )
            {
            pushFollow(FOLLOW_reservadas_in_declaracionvar256);
            reservadas();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:32: ( ( cuerpodeclaracion ) | ( ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )* ) )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==LLAVE_A) ) {
                alt18=1;
            }
            else if ( (LA18_0==IDENT||LA18_0==MENORQUE||LA18_0==SIMBOLO) ) {
                alt18=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;

            }
            switch (alt18) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:33: ( cuerpodeclaracion )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:33: ( cuerpodeclaracion )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:34: cuerpodeclaracion
                    {
                    pushFollow(FOLLOW_cuerpodeclaracion_in_declaracionvar260);
                    cuerpodeclaracion();

                    state._fsp--;
                    if (state.failed) return ;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:53: ( ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )* )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:53: ( ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )* )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:54: ( IDENT | SIMBOLO | var_ang ) ( IDENT | SIMBOLO )*
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:54: ( IDENT | SIMBOLO | var_ang )
                    int alt16=3;
                    switch ( input.LA(1) ) {
                    case IDENT:
                        {
                        alt16=1;
                        }
                        break;
                    case SIMBOLO:
                        {
                        alt16=2;
                        }
                        break;
                    case MENORQUE:
                        {
                        alt16=3;
                        }
                        break;
                    default:
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 16, 0, input);

                        throw nvae;

                    }

                    switch (alt16) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:55: IDENT
                            {
                            match(input,IDENT,FOLLOW_IDENT_in_declaracionvar265); if (state.failed) return ;

                            }
                            break;
                        case 2 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:61: SIMBOLO
                            {
                            match(input,SIMBOLO,FOLLOW_SIMBOLO_in_declaracionvar267); if (state.failed) return ;

                            }
                            break;
                        case 3 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:69: var_ang
                            {
                            pushFollow(FOLLOW_var_ang_in_declaracionvar269);
                            var_ang();

                            state._fsp--;
                            if (state.failed) return ;

                            }
                            break;

                    }


                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:43:78: ( IDENT | SIMBOLO )*
                    loop17:
                    do {
                        int alt17=2;
                        int LA17_0 = input.LA(1);

                        if ( (LA17_0==IDENT||LA17_0==SIMBOLO) ) {
                            alt17=1;
                        }


                        switch (alt17) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:
                    	    {
                    	    if ( input.LA(1)==IDENT||input.LA(1)==SIMBOLO ) {
                    	        input.consume();
                    	        state.errorRecovery=false;
                    	        state.failed=false;
                    	    }
                    	    else {
                    	        if (state.backtracking>0) {state.failed=true; return ;}
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop17;
                        }
                    } while (true);


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "declaracionvar"



    // $ANTLR start "reservadas"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:44:7: reservadas : ( START | UNION | TOKEN | TYPE | LEFT | RIGHT | NONASSOC );
    public final void reservadas() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:44:17: ( START | UNION | TOKEN | TYPE | LEFT | RIGHT | NONASSOC )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:
            {
            if ( input.LA(1)==LEFT||input.LA(1)==NONASSOC||input.LA(1)==RIGHT||input.LA(1)==START||(input.LA(1) >= TOKEN && input.LA(1) <= UNION) ) {
                input.consume();
                state.errorRecovery=false;
                state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "reservadas"



    // $ANTLR start "segundobloque"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:51:1: segundobloque : NUEVOBLOQUE ( reglas )* ;
    public final void segundobloque() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:51:14: ( NUEVOBLOQUE ( reglas )* )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:51:16: NUEVOBLOQUE ( reglas )*
            {
            match(input,NUEVOBLOQUE,FOLLOW_NUEVOBLOQUE_in_segundobloque319); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:51:28: ( reglas )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==IDENT) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:51:28: reglas
            	    {
            	    pushFollow(FOLLOW_reglas_in_segundobloque321);
            	    reglas();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "segundobloque"



    // $ANTLR start "reglas"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:52:3: reglas : nombreregla DOS_PUNTOS cuerporegla PUNTO_COMA ;
    public final void reglas() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:52:9: ( nombreregla DOS_PUNTOS cuerporegla PUNTO_COMA )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:52:11: nombreregla DOS_PUNTOS cuerporegla PUNTO_COMA
            {
            pushFollow(FOLLOW_nombreregla_in_reglas330);
            nombreregla();

            state._fsp--;
            if (state.failed) return ;

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_reglas332); if (state.failed) return ;

            pushFollow(FOLLOW_cuerporegla_in_reglas334);
            cuerporegla();

            state._fsp--;
            if (state.failed) return ;

            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_reglas336); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "reglas"



    // $ANTLR start "nombreregla"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:53:5: nombreregla : IDENT ;
    public final void nombreregla() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:53:16: ( IDENT )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:53:18: IDENT
            {
            match(input,IDENT,FOLLOW_IDENT_in_nombreregla346); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "nombreregla"



    // $ANTLR start "cuerporegla"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:5: cuerporegla : ( dentrocuerpo )? ( OR dentrocuerpo )* ;
    public final void cuerporegla() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:16: ( ( dentrocuerpo )? ( OR dentrocuerpo )* )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:18: ( dentrocuerpo )? ( OR dentrocuerpo )*
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:18: ( dentrocuerpo )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==IDENT||LA20_0==SIMBOLO) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:18: dentrocuerpo
                    {
                    pushFollow(FOLLOW_dentrocuerpo_in_cuerporegla356);
                    dentrocuerpo();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:32: ( OR dentrocuerpo )*
            loop21:
            do {
                int alt21=2;
                int LA21_0 = input.LA(1);

                if ( (LA21_0==OR) ) {
                    alt21=1;
                }


                switch (alt21) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:54:33: OR dentrocuerpo
            	    {
            	    match(input,OR,FOLLOW_OR_in_cuerporegla360); if (state.failed) return ;

            	    pushFollow(FOLLOW_dentrocuerpo_in_cuerporegla362);
            	    dentrocuerpo();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop21;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cuerporegla"



    // $ANTLR start "dentrocuerpo"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:7: dentrocuerpo : ( SIMBOLO )? ( IDENT ( PORCENTAJE )? ( SIMBOLO )? )+ ( accion )? ;
    public final void dentrocuerpo() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:19: ( ( SIMBOLO )? ( IDENT ( PORCENTAJE )? ( SIMBOLO )? )+ ( accion )? )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:21: ( SIMBOLO )? ( IDENT ( PORCENTAJE )? ( SIMBOLO )? )+ ( accion )?
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:21: ( SIMBOLO )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==SIMBOLO) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:21: SIMBOLO
                    {
                    match(input,SIMBOLO,FOLLOW_SIMBOLO_in_dentrocuerpo376); if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:30: ( IDENT ( PORCENTAJE )? ( SIMBOLO )? )+
            int cnt25=0;
            loop25:
            do {
                int alt25=2;
                int LA25_0 = input.LA(1);

                if ( (LA25_0==IDENT) ) {
                    alt25=1;
                }


                switch (alt25) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:31: IDENT ( PORCENTAJE )? ( SIMBOLO )?
            	    {
            	    match(input,IDENT,FOLLOW_IDENT_in_dentrocuerpo380); if (state.failed) return ;

            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:37: ( PORCENTAJE )?
            	    int alt23=2;
            	    int LA23_0 = input.LA(1);

            	    if ( (LA23_0==PORCENTAJE) ) {
            	        alt23=1;
            	    }
            	    switch (alt23) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:37: PORCENTAJE
            	            {
            	            match(input,PORCENTAJE,FOLLOW_PORCENTAJE_in_dentrocuerpo382); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:49: ( SIMBOLO )?
            	    int alt24=2;
            	    int LA24_0 = input.LA(1);

            	    if ( (LA24_0==SIMBOLO) ) {
            	        alt24=1;
            	    }
            	    switch (alt24) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:49: SIMBOLO
            	            {
            	            match(input,SIMBOLO,FOLLOW_SIMBOLO_in_dentrocuerpo385); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt25 >= 1 ) break loop25;
            	    if (state.backtracking>0) {state.failed=true; return ;}
                        EarlyExitException eee =
                            new EarlyExitException(25, input);
                        throw eee;
                }
                cnt25++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:60: ( accion )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==LLAVE_A) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:55:60: accion
                    {
                    pushFollow(FOLLOW_accion_in_dentrocuerpo390);
                    accion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "dentrocuerpo"



    // $ANTLR start "accion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:9: accion : LLAVE_A ( regla_if | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) )+ LLAVE_C ;
    public final void accion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:15: ( LLAVE_A ( regla_if | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) )+ LLAVE_C )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:17: LLAVE_A ( regla_if | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) )+ LLAVE_C
            {
            match(input,LLAVE_A,FOLLOW_LLAVE_A_in_accion405); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:25: ( regla_if | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) )+
            int cnt27=0;
            loop27:
            do {
                int alt27=5;
                switch ( input.LA(1) ) {
                case IF:
                    {
                    alt27=1;
                    }
                    break;
                case PRINTF:
                    {
                    alt27=2;
                    }
                    break;
                case ASTERISCO:
                case PSEUDOVAR:
                    {
                    alt27=3;
                    }
                    break;
                case IDENT:
                    {
                    int LA27_5 = input.LA(2);

                    if ( (LA27_5==PUNTO_COMA) ) {
                        alt27=4;
                    }
                    else if ( (LA27_5==COMA||LA27_5==CORCHETE_A||LA27_5==IGUAL) ) {
                        alt27=3;
                    }


                    }
                    break;

                }

                switch (alt27) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:26: regla_if
            	    {
            	    pushFollow(FOLLOW_regla_if_in_accion408);
            	    regla_if();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:35: imprimir
            	    {
            	    pushFollow(FOLLOW_imprimir_in_accion410);
            	    imprimir();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;
            	case 3 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:44: ( asignacion PUNTO_COMA )
            	    {
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:44: ( asignacion PUNTO_COMA )
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:45: asignacion PUNTO_COMA
            	    {
            	    pushFollow(FOLLOW_asignacion_in_accion413);
            	    asignacion();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_accion415); if (state.failed) return ;

            	    }


            	    }
            	    break;
            	case 4 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:68: ( IDENT PUNTO_COMA )
            	    {
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:68: ( IDENT PUNTO_COMA )
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:56:69: IDENT PUNTO_COMA
            	    {
            	    match(input,IDENT,FOLLOW_IDENT_in_accion419); if (state.failed) return ;

            	    match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_accion421); if (state.failed) return ;

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt27 >= 1 ) break loop27;
            	    if (state.backtracking>0) {state.failed=true; return ;}
                        EarlyExitException eee =
                            new EarlyExitException(27, input);
                        throw eee;
                }
                cnt27++;
            } while (true);


            match(input,LLAVE_C,FOLLOW_LLAVE_C_in_accion426); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "accion"



    // $ANTLR start "imprimir"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:57:11: imprimir : PRINTF PARENTESIS_A CADENA ( COMA VALOR )* PARENTESIS_C PUNTO_COMA ;
    public final void imprimir() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:57:19: ( PRINTF PARENTESIS_A CADENA ( COMA VALOR )* PARENTESIS_C PUNTO_COMA )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:57:21: PRINTF PARENTESIS_A CADENA ( COMA VALOR )* PARENTESIS_C PUNTO_COMA
            {
            match(input,PRINTF,FOLLOW_PRINTF_in_imprimir442); if (state.failed) return ;

            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_imprimir444); if (state.failed) return ;

            match(input,CADENA,FOLLOW_CADENA_in_imprimir446); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:57:48: ( COMA VALOR )*
            loop28:
            do {
                int alt28=2;
                int LA28_0 = input.LA(1);

                if ( (LA28_0==COMA) ) {
                    alt28=1;
                }


                switch (alt28) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:57:49: COMA VALOR
            	    {
            	    match(input,COMA,FOLLOW_COMA_in_imprimir449); if (state.failed) return ;

            	    match(input,VALOR,FOLLOW_VALOR_in_imprimir451); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop28;
                }
            } while (true);


            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_imprimir455); if (state.failed) return ;

            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_imprimir457); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "imprimir"



    // $ANTLR start "asignacion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:11: asignacion : ( ASTERISCO )? ( IDENT | ident_vector | PSEUDOVAR ) ( COMA ( IDENT | ident_vector | PSEUDOVAR ) )* IGUAL ( GUION )? resultadoasig ;
    public final void asignacion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:21: ( ( ASTERISCO )? ( IDENT | ident_vector | PSEUDOVAR ) ( COMA ( IDENT | ident_vector | PSEUDOVAR ) )* IGUAL ( GUION )? resultadoasig )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:23: ( ASTERISCO )? ( IDENT | ident_vector | PSEUDOVAR ) ( COMA ( IDENT | ident_vector | PSEUDOVAR ) )* IGUAL ( GUION )? resultadoasig
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:23: ( ASTERISCO )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==ASTERISCO) ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:23: ASTERISCO
                    {
                    match(input,ASTERISCO,FOLLOW_ASTERISCO_in_asignacion473); if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:34: ( IDENT | ident_vector | PSEUDOVAR )
            int alt30=3;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==IDENT) ) {
                int LA30_1 = input.LA(2);

                if ( (LA30_1==COMA||LA30_1==IGUAL) ) {
                    alt30=1;
                }
                else if ( (LA30_1==CORCHETE_A) ) {
                    alt30=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 30, 1, input);

                    throw nvae;

                }
            }
            else if ( (LA30_0==PSEUDOVAR) ) {
                alt30=3;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 30, 0, input);

                throw nvae;

            }
            switch (alt30) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:35: IDENT
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_asignacion477); if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:41: ident_vector
                    {
                    pushFollow(FOLLOW_ident_vector_in_asignacion479);
                    ident_vector();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:54: PSEUDOVAR
                    {
                    match(input,PSEUDOVAR,FOLLOW_PSEUDOVAR_in_asignacion481); if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:65: ( COMA ( IDENT | ident_vector | PSEUDOVAR ) )*
            loop32:
            do {
                int alt32=2;
                int LA32_0 = input.LA(1);

                if ( (LA32_0==COMA) ) {
                    alt32=1;
                }


                switch (alt32) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:66: COMA ( IDENT | ident_vector | PSEUDOVAR )
            	    {
            	    match(input,COMA,FOLLOW_COMA_in_asignacion485); if (state.failed) return ;

            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:71: ( IDENT | ident_vector | PSEUDOVAR )
            	    int alt31=3;
            	    int LA31_0 = input.LA(1);

            	    if ( (LA31_0==IDENT) ) {
            	        int LA31_1 = input.LA(2);

            	        if ( (LA31_1==COMA||LA31_1==IGUAL) ) {
            	            alt31=1;
            	        }
            	        else if ( (LA31_1==CORCHETE_A) ) {
            	            alt31=2;
            	        }
            	        else {
            	            if (state.backtracking>0) {state.failed=true; return ;}
            	            NoViableAltException nvae =
            	                new NoViableAltException("", 31, 1, input);

            	            throw nvae;

            	        }
            	    }
            	    else if ( (LA31_0==PSEUDOVAR) ) {
            	        alt31=3;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        NoViableAltException nvae =
            	            new NoViableAltException("", 31, 0, input);

            	        throw nvae;

            	    }
            	    switch (alt31) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:72: IDENT
            	            {
            	            match(input,IDENT,FOLLOW_IDENT_in_asignacion488); if (state.failed) return ;

            	            }
            	            break;
            	        case 2 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:78: ident_vector
            	            {
            	            pushFollow(FOLLOW_ident_vector_in_asignacion490);
            	            ident_vector();

            	            state._fsp--;
            	            if (state.failed) return ;

            	            }
            	            break;
            	        case 3 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:91: PSEUDOVAR
            	            {
            	            match(input,PSEUDOVAR,FOLLOW_PSEUDOVAR_in_asignacion492); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    }
            	    break;

            	default :
            	    break loop32;
                }
            } while (true);


            match(input,IGUAL,FOLLOW_IGUAL_in_asignacion497); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:110: ( GUION )?
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( (LA33_0==GUION) ) {
                alt33=1;
            }
            switch (alt33) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:58:110: GUION
                    {
                    match(input,GUION,FOLLOW_GUION_in_asignacion499); if (state.failed) return ;

                    }
                    break;

            }


            pushFollow(FOLLOW_resultadoasig_in_asignacion502);
            resultadoasig();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion"



    // $ANTLR start "resultadoasig"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:13: resultadoasig : ( IDENT | SIMBOLO | NUMERO | VALOR | ident_vector | operacion | asignacion | llamada_funcion ) ;
    public final void resultadoasig() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:26: ( ( IDENT | SIMBOLO | NUMERO | VALOR | ident_vector | operacion | asignacion | llamada_funcion ) )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:28: ( IDENT | SIMBOLO | NUMERO | VALOR | ident_vector | operacion | asignacion | llamada_funcion )
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:28: ( IDENT | SIMBOLO | NUMERO | VALOR | ident_vector | operacion | asignacion | llamada_funcion )
            int alt34=8;
            alt34 = dfa34.predict(input);
            switch (alt34) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:29: IDENT
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_resultadoasig521); if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:35: SIMBOLO
                    {
                    match(input,SIMBOLO,FOLLOW_SIMBOLO_in_resultadoasig523); if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:43: NUMERO
                    {
                    match(input,NUMERO,FOLLOW_NUMERO_in_resultadoasig525); if (state.failed) return ;

                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:50: VALOR
                    {
                    match(input,VALOR,FOLLOW_VALOR_in_resultadoasig527); if (state.failed) return ;

                    }
                    break;
                case 5 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:56: ident_vector
                    {
                    pushFollow(FOLLOW_ident_vector_in_resultadoasig529);
                    ident_vector();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 6 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:69: operacion
                    {
                    pushFollow(FOLLOW_operacion_in_resultadoasig531);
                    operacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 7 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:79: asignacion
                    {
                    pushFollow(FOLLOW_asignacion_in_resultadoasig533);
                    asignacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 8 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:90: llamada_funcion
                    {
                    pushFollow(FOLLOW_llamada_funcion_in_resultadoasig535);
                    llamada_funcion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "resultadoasig"



    // $ANTLR start "ident_vector"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:60:13: ident_vector : IDENT corchetes ;
    public final void ident_vector() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:60:25: ( IDENT corchetes )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:60:27: IDENT corchetes
            {
            match(input,IDENT,FOLLOW_IDENT_in_ident_vector554); if (state.failed) return ;

            pushFollow(FOLLOW_corchetes_in_ident_vector556);
            corchetes();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "ident_vector"



    // $ANTLR start "corchetes"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:15: corchetes : CORCHETE_A ( VALOR | NUMERO | operacion )? CORCHETE_C ;
    public final void corchetes() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:24: ( CORCHETE_A ( VALOR | NUMERO | operacion )? CORCHETE_C )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:26: CORCHETE_A ( VALOR | NUMERO | operacion )? CORCHETE_C
            {
            match(input,CORCHETE_A,FOLLOW_CORCHETE_A_in_corchetes576); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:37: ( VALOR | NUMERO | operacion )?
            int alt35=4;
            switch ( input.LA(1) ) {
                case VALOR:
                    {
                    int LA35_1 = input.LA(2);

                    if ( (LA35_1==CORCHETE_C) ) {
                        alt35=1;
                    }
                    else if ( (LA35_1==ASTERISCO||LA35_1==GUION||LA35_1==SLASH||LA35_1==SUMA) ) {
                        alt35=3;
                    }
                    }
                    break;
                case NUMERO:
                    {
                    int LA35_2 = input.LA(2);

                    if ( (LA35_2==CORCHETE_C) ) {
                        alt35=2;
                    }
                    else if ( (LA35_2==ASTERISCO||LA35_2==GUION||LA35_2==SLASH||LA35_2==SUMA) ) {
                        alt35=3;
                    }
                    }
                    break;
                case IDENT:
                    {
                    alt35=3;
                    }
                    break;
            }

            switch (alt35) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:38: VALOR
                    {
                    match(input,VALOR,FOLLOW_VALOR_in_corchetes579); if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:44: NUMERO
                    {
                    match(input,NUMERO,FOLLOW_NUMERO_in_corchetes581); if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:61:51: operacion
                    {
                    pushFollow(FOLLOW_operacion_in_corchetes583);
                    operacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            match(input,CORCHETE_C,FOLLOW_CORCHETE_C_in_corchetes587); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "corchetes"



    // $ANTLR start "operacion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:62:13: operacion : ( VALOR | IDENT | NUMERO ) operador ( IDENT | VALOR | SIMBOLO | NUMERO ) ;
    public final void operacion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:62:22: ( ( VALOR | IDENT | NUMERO ) operador ( IDENT | VALOR | SIMBOLO | NUMERO ) )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:62:24: ( VALOR | IDENT | NUMERO ) operador ( IDENT | VALOR | SIMBOLO | NUMERO )
            {
            if ( input.LA(1)==IDENT||input.LA(1)==NUMERO||input.LA(1)==VALOR ) {
                input.consume();
                state.errorRecovery=false;
                state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            pushFollow(FOLLOW_operador_in_operacion613);
            operador();

            state._fsp--;
            if (state.failed) return ;

            if ( input.LA(1)==IDENT||input.LA(1)==NUMERO||input.LA(1)==SIMBOLO||input.LA(1)==VALOR ) {
                input.consume();
                state.errorRecovery=false;
                state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "operacion"



    // $ANTLR start "operador"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:63:15: operador : ( SUMA | GUION | ASTERISCO | SLASH );
    public final void operador() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:63:23: ( SUMA | GUION | ASTERISCO | SLASH )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:
            {
            if ( input.LA(1)==ASTERISCO||input.LA(1)==GUION||input.LA(1)==SLASH||input.LA(1)==SUMA ) {
                input.consume();
                state.errorRecovery=false;
                state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "operador"



    // $ANTLR start "tercerbloque"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:71:1: tercerbloque : NUEVOBLOQUE programas ;
    public final void tercerbloque() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:71:13: ( NUEVOBLOQUE programas )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:71:15: NUEVOBLOQUE programas
            {
            match(input,NUEVOBLOQUE,FOLLOW_NUEVOBLOQUE_in_tercerbloque662); if (state.failed) return ;

            pushFollow(FOLLOW_programas_in_tercerbloque664);
            programas();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "tercerbloque"



    // $ANTLR start "programas"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:72:3: programas : definir funciones ( funcionyacc )* ;
    public final void programas() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:72:12: ( definir funciones ( funcionyacc )* )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:72:14: definir funciones ( funcionyacc )*
            {
            pushFollow(FOLLOW_definir_in_programas672);
            definir();

            state._fsp--;
            if (state.failed) return ;

            pushFollow(FOLLOW_funciones_in_programas674);
            funciones();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:72:32: ( funcionyacc )*
            loop36:
            do {
                int alt36=2;
                int LA36_0 = input.LA(1);

                if ( (LA36_0==IDENT||LA36_0==INTERVALO) ) {
                    alt36=1;
                }


                switch (alt36) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:72:32: funcionyacc
            	    {
            	    pushFollow(FOLLOW_funcionyacc_in_programas676);
            	    funcionyacc();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop36;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "programas"



    // $ANTLR start "definir"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:73:5: definir : ALMOHADILLA DEFINIR IDENT NUMERO ;
    public final void definir() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:73:12: ( ALMOHADILLA DEFINIR IDENT NUMERO )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:73:14: ALMOHADILLA DEFINIR IDENT NUMERO
            {
            match(input,ALMOHADILLA,FOLLOW_ALMOHADILLA_in_definir687); if (state.failed) return ;

            match(input,DEFINIR,FOLLOW_DEFINIR_in_definir689); if (state.failed) return ;

            match(input,IDENT,FOLLOW_IDENT_in_definir691); if (state.failed) return ;

            match(input,NUMERO,FOLLOW_NUMERO_in_definir693); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "definir"



    // $ANTLR start "funciones"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:74:5: funciones : ( tipo )? IDENT PARENTESIS_A parametros PARENTESIS_C cuerpo ;
    public final void funciones() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:74:14: ( ( tipo )? IDENT PARENTESIS_A parametros PARENTESIS_C cuerpo )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:74:16: ( tipo )? IDENT PARENTESIS_A parametros PARENTESIS_C cuerpo
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:74:16: ( tipo )?
            int alt37=2;
            int LA37_0 = input.LA(1);

            if ( (LA37_0==CHAR||LA37_0==DOBLE||(LA37_0 >= INT && LA37_0 <= INTERVALO)||LA37_0==REGISTRO||LA37_0==VOID) ) {
                alt37=1;
            }
            switch (alt37) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:74:16: tipo
                    {
                    pushFollow(FOLLOW_tipo_in_funciones703);
                    tipo();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            match(input,IDENT,FOLLOW_IDENT_in_funciones706); if (state.failed) return ;

            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_funciones708); if (state.failed) return ;

            pushFollow(FOLLOW_parametros_in_funciones710);
            parametros();

            state._fsp--;
            if (state.failed) return ;

            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_funciones712); if (state.failed) return ;

            pushFollow(FOLLOW_cuerpo_in_funciones714);
            cuerpo();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "funciones"



    // $ANTLR start "parametros"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:7: parametros : ( ( VOID )? | tipo parametro ( COMA tipo parametro )* ) ;
    public final void parametros() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:17: ( ( ( VOID )? | tipo parametro ( COMA tipo parametro )* ) )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:19: ( ( VOID )? | tipo parametro ( COMA tipo parametro )* )
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:19: ( ( VOID )? | tipo parametro ( COMA tipo parametro )* )
            int alt40=2;
            switch ( input.LA(1) ) {
            case VOID:
                {
                int LA40_1 = input.LA(2);

                if ( (LA40_1==PARENTESIS_C) ) {
                    alt40=1;
                }
                else if ( (LA40_1==ASTERISCO||LA40_1==CADENA||LA40_1==IDENT||LA40_1==NUMERO) ) {
                    alt40=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 40, 1, input);

                    throw nvae;

                }
                }
                break;
            case PARENTESIS_C:
                {
                alt40=1;
                }
                break;
            case CHAR:
            case DOBLE:
            case INT:
            case INTERVALO:
            case REGISTRO:
                {
                alt40=2;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 40, 0, input);

                throw nvae;

            }

            switch (alt40) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:20: ( VOID )?
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:20: ( VOID )?
                    int alt38=2;
                    int LA38_0 = input.LA(1);

                    if ( (LA38_0==VOID) ) {
                        alt38=1;
                    }
                    switch (alt38) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:21: VOID
                            {
                            match(input,VOID,FOLLOW_VOID_in_parametros728); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:30: tipo parametro ( COMA tipo parametro )*
                    {
                    pushFollow(FOLLOW_tipo_in_parametros734);
                    tipo();

                    state._fsp--;
                    if (state.failed) return ;

                    pushFollow(FOLLOW_parametro_in_parametros736);
                    parametro();

                    state._fsp--;
                    if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:45: ( COMA tipo parametro )*
                    loop39:
                    do {
                        int alt39=2;
                        int LA39_0 = input.LA(1);

                        if ( (LA39_0==COMA) ) {
                            alt39=1;
                        }


                        switch (alt39) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:75:46: COMA tipo parametro
                    	    {
                    	    match(input,COMA,FOLLOW_COMA_in_parametros739); if (state.failed) return ;

                    	    pushFollow(FOLLOW_tipo_in_parametros741);
                    	    tipo();

                    	    state._fsp--;
                    	    if (state.failed) return ;

                    	    pushFollow(FOLLOW_parametro_in_parametros743);
                    	    parametro();

                    	    state._fsp--;
                    	    if (state.failed) return ;

                    	    }
                    	    break;

                    	default :
                    	    break loop39;
                        }
                    } while (true);


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "parametros"



    // $ANTLR start "parametro"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:9: parametro : ( ( ( ASTERISCO )? IDENT ( CORCHETES )* ) | CADENA | NUMERO );
    public final void parametro() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:18: ( ( ( ASTERISCO )? IDENT ( CORCHETES )* ) | CADENA | NUMERO )
            int alt43=3;
            switch ( input.LA(1) ) {
            case ASTERISCO:
            case IDENT:
                {
                alt43=1;
                }
                break;
            case CADENA:
                {
                alt43=2;
                }
                break;
            case NUMERO:
                {
                alt43=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 43, 0, input);

                throw nvae;

            }

            switch (alt43) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:20: ( ( ASTERISCO )? IDENT ( CORCHETES )* )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:20: ( ( ASTERISCO )? IDENT ( CORCHETES )* )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:21: ( ASTERISCO )? IDENT ( CORCHETES )*
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:21: ( ASTERISCO )?
                    int alt41=2;
                    int LA41_0 = input.LA(1);

                    if ( (LA41_0==ASTERISCO) ) {
                        alt41=1;
                    }
                    switch (alt41) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:21: ASTERISCO
                            {
                            match(input,ASTERISCO,FOLLOW_ASTERISCO_in_parametro761); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,IDENT,FOLLOW_IDENT_in_parametro764); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:38: ( CORCHETES )*
                    loop42:
                    do {
                        int alt42=2;
                        int LA42_0 = input.LA(1);

                        if ( (LA42_0==CORCHETES) ) {
                            alt42=1;
                        }


                        switch (alt42) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:38: CORCHETES
                    	    {
                    	    match(input,CORCHETES,FOLLOW_CORCHETES_in_parametro766); if (state.failed) return ;

                    	    }
                    	    break;

                    	default :
                    	    break loop42;
                        }
                    } while (true);


                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:52: CADENA
                    {
                    match(input,CADENA,FOLLOW_CADENA_in_parametro772); if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:76:61: NUMERO
                    {
                    match(input,NUMERO,FOLLOW_NUMERO_in_parametro776); if (state.failed) return ;

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "parametro"



    // $ANTLR start "cuerpo"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:7: cuerpo : ( ( LLAVE_A ( instrucciones )* LLAVE_C ) | instrucciones );
    public final void cuerpo() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:13: ( ( LLAVE_A ( instrucciones )* LLAVE_C ) | instrucciones )
            int alt45=2;
            int LA45_0 = input.LA(1);

            if ( (LA45_0==LLAVE_A) ) {
                alt45=1;
            }
            else if ( (LA45_0==ASTERISCO||LA45_0==BREAK||LA45_0==CHAR||LA45_0==CONTINUE||LA45_0==DOBLE||LA45_0==FOR||(LA45_0 >= IDENT && LA45_0 <= IF)||(LA45_0 >= INT && LA45_0 <= INTERVALO)||(LA45_0 >= PRINTF && LA45_0 <= PSEUDOVAR)||(LA45_0 >= REGISTRO && LA45_0 <= RET)||(LA45_0 >= VOID && LA45_0 <= WHILE)) ) {
                alt45=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 45, 0, input);

                throw nvae;

            }
            switch (alt45) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:15: ( LLAVE_A ( instrucciones )* LLAVE_C )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:15: ( LLAVE_A ( instrucciones )* LLAVE_C )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:16: LLAVE_A ( instrucciones )* LLAVE_C
                    {
                    match(input,LLAVE_A,FOLLOW_LLAVE_A_in_cuerpo789); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:24: ( instrucciones )*
                    loop44:
                    do {
                        int alt44=2;
                        int LA44_0 = input.LA(1);

                        if ( (LA44_0==ASTERISCO||LA44_0==BREAK||LA44_0==CHAR||LA44_0==CONTINUE||LA44_0==DOBLE||LA44_0==FOR||(LA44_0 >= IDENT && LA44_0 <= IF)||(LA44_0 >= INT && LA44_0 <= INTERVALO)||(LA44_0 >= PRINTF && LA44_0 <= PSEUDOVAR)||(LA44_0 >= REGISTRO && LA44_0 <= RET)||(LA44_0 >= VOID && LA44_0 <= WHILE)) ) {
                            alt44=1;
                        }


                        switch (alt44) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:24: instrucciones
                    	    {
                    	    pushFollow(FOLLOW_instrucciones_in_cuerpo791);
                    	    instrucciones();

                    	    state._fsp--;
                    	    if (state.failed) return ;

                    	    }
                    	    break;

                    	default :
                    	    break loop44;
                        }
                    } while (true);


                    match(input,LLAVE_C,FOLLOW_LLAVE_C_in_cuerpo794); if (state.failed) return ;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:77:48: instrucciones
                    {
                    pushFollow(FOLLOW_instrucciones_in_cuerpo797);
                    instrucciones();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cuerpo"



    // $ANTLR start "instrucciones"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:9: instrucciones : ( ( retorno | llamada_funcion PUNTO_COMA ) | salir | continuar | defvar | regla_while | regla_if | regla_for | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) ) ;
    public final void instrucciones() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:22: ( ( ( retorno | llamada_funcion PUNTO_COMA ) | salir | continuar | defvar | regla_while | regla_if | regla_for | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) ) )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:24: ( ( retorno | llamada_funcion PUNTO_COMA ) | salir | continuar | defvar | regla_while | regla_if | regla_for | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) )
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:24: ( ( retorno | llamada_funcion PUNTO_COMA ) | salir | continuar | defvar | regla_while | regla_if | regla_for | imprimir | ( asignacion PUNTO_COMA ) | ( IDENT PUNTO_COMA ) )
            int alt47=10;
            switch ( input.LA(1) ) {
            case RET:
                {
                alt47=1;
                }
                break;
            case IDENT:
                {
                switch ( input.LA(2) ) {
                case PARENTESIS_A:
                    {
                    alt47=1;
                    }
                    break;
                case PUNTO_COMA:
                    {
                    alt47=10;
                    }
                    break;
                case COMA:
                case CORCHETE_A:
                case IGUAL:
                    {
                    alt47=9;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 47, 2, input);

                    throw nvae;

                }

                }
                break;
            case BREAK:
                {
                alt47=2;
                }
                break;
            case CONTINUE:
                {
                alt47=3;
                }
                break;
            case CHAR:
            case DOBLE:
            case INT:
            case INTERVALO:
            case REGISTRO:
            case VOID:
                {
                alt47=4;
                }
                break;
            case WHILE:
                {
                alt47=5;
                }
                break;
            case IF:
                {
                alt47=6;
                }
                break;
            case FOR:
                {
                alt47=7;
                }
                break;
            case PRINTF:
                {
                alt47=8;
                }
                break;
            case ASTERISCO:
            case PSEUDOVAR:
                {
                alt47=9;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 47, 0, input);

                throw nvae;

            }

            switch (alt47) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:25: ( retorno | llamada_funcion PUNTO_COMA )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:25: ( retorno | llamada_funcion PUNTO_COMA )
                    int alt46=2;
                    int LA46_0 = input.LA(1);

                    if ( (LA46_0==RET) ) {
                        alt46=1;
                    }
                    else if ( (LA46_0==IDENT) ) {
                        alt46=2;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 46, 0, input);

                        throw nvae;

                    }
                    switch (alt46) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:26: retorno
                            {
                            pushFollow(FOLLOW_retorno_in_instrucciones813);
                            retorno();

                            state._fsp--;
                            if (state.failed) return ;

                            }
                            break;
                        case 2 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:34: llamada_funcion PUNTO_COMA
                            {
                            pushFollow(FOLLOW_llamada_funcion_in_instrucciones815);
                            llamada_funcion();

                            state._fsp--;
                            if (state.failed) return ;

                            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_instrucciones817); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:62: salir
                    {
                    pushFollow(FOLLOW_salir_in_instrucciones820);
                    salir();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:68: continuar
                    {
                    pushFollow(FOLLOW_continuar_in_instrucciones822);
                    continuar();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:78: defvar
                    {
                    pushFollow(FOLLOW_defvar_in_instrucciones824);
                    defvar();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 5 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:85: regla_while
                    {
                    pushFollow(FOLLOW_regla_while_in_instrucciones826);
                    regla_while();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 6 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:97: regla_if
                    {
                    pushFollow(FOLLOW_regla_if_in_instrucciones828);
                    regla_if();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 7 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:106: regla_for
                    {
                    pushFollow(FOLLOW_regla_for_in_instrucciones830);
                    regla_for();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 8 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:116: imprimir
                    {
                    pushFollow(FOLLOW_imprimir_in_instrucciones832);
                    imprimir();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 9 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:125: ( asignacion PUNTO_COMA )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:125: ( asignacion PUNTO_COMA )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:126: asignacion PUNTO_COMA
                    {
                    pushFollow(FOLLOW_asignacion_in_instrucciones835);
                    asignacion();

                    state._fsp--;
                    if (state.failed) return ;

                    match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_instrucciones837); if (state.failed) return ;

                    }


                    }
                    break;
                case 10 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:149: ( IDENT PUNTO_COMA )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:149: ( IDENT PUNTO_COMA )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:78:150: IDENT PUNTO_COMA
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_instrucciones841); if (state.failed) return ;

                    match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_instrucciones843); if (state.failed) return ;

                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "instrucciones"



    // $ANTLR start "retorno"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:9: retorno : RET ( ( PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C ) | ( ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) ) ) PUNTO_COMA ;
    public final void retorno() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:16: ( RET ( ( PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C ) | ( ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) ) ) PUNTO_COMA )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:18: RET ( ( PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C ) | ( ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) ) ) PUNTO_COMA
            {
            match(input,RET,FOLLOW_RET_in_retorno859); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:22: ( ( PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C ) | ( ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) ) )
            int alt50=2;
            int LA50_0 = input.LA(1);

            if ( (LA50_0==PARENTESIS_A) ) {
                alt50=1;
            }
            else if ( (LA50_0==IDENT||LA50_0==NUMERO||LA50_0==SIMBOLO) ) {
                alt50=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 50, 0, input);

                throw nvae;

            }
            switch (alt50) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:23: ( PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:23: ( PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:24: PARENTESIS_A ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) PARENTESIS_C
                    {
                    match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_retorno863); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:37: ( IDENT | NUMERO | SIMBOLO | llamada_funcion )
                    int alt48=4;
                    switch ( input.LA(1) ) {
                    case IDENT:
                        {
                        int LA48_1 = input.LA(2);

                        if ( (LA48_1==PARENTESIS_A) ) {
                            alt48=4;
                        }
                        else if ( (LA48_1==PARENTESIS_C) ) {
                            alt48=1;
                        }
                        else {
                            if (state.backtracking>0) {state.failed=true; return ;}
                            NoViableAltException nvae =
                                new NoViableAltException("", 48, 1, input);

                            throw nvae;

                        }
                        }
                        break;
                    case NUMERO:
                        {
                        alt48=2;
                        }
                        break;
                    case SIMBOLO:
                        {
                        alt48=3;
                        }
                        break;
                    default:
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 48, 0, input);

                        throw nvae;

                    }

                    switch (alt48) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:38: IDENT
                            {
                            match(input,IDENT,FOLLOW_IDENT_in_retorno866); if (state.failed) return ;

                            }
                            break;
                        case 2 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:44: NUMERO
                            {
                            match(input,NUMERO,FOLLOW_NUMERO_in_retorno868); if (state.failed) return ;

                            }
                            break;
                        case 3 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:51: SIMBOLO
                            {
                            match(input,SIMBOLO,FOLLOW_SIMBOLO_in_retorno870); if (state.failed) return ;

                            }
                            break;
                        case 4 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:59: llamada_funcion
                            {
                            pushFollow(FOLLOW_llamada_funcion_in_retorno872);
                            llamada_funcion();

                            state._fsp--;
                            if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_retorno875); if (state.failed) return ;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:90: ( ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:90: ( ( IDENT | NUMERO | SIMBOLO | llamada_funcion ) )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:91: ( IDENT | NUMERO | SIMBOLO | llamada_funcion )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:91: ( IDENT | NUMERO | SIMBOLO | llamada_funcion )
                    int alt49=4;
                    switch ( input.LA(1) ) {
                    case IDENT:
                        {
                        int LA49_1 = input.LA(2);

                        if ( (LA49_1==PARENTESIS_A) ) {
                            alt49=4;
                        }
                        else if ( (LA49_1==PUNTO_COMA) ) {
                            alt49=1;
                        }
                        else {
                            if (state.backtracking>0) {state.failed=true; return ;}
                            NoViableAltException nvae =
                                new NoViableAltException("", 49, 1, input);

                            throw nvae;

                        }
                        }
                        break;
                    case NUMERO:
                        {
                        alt49=2;
                        }
                        break;
                    case SIMBOLO:
                        {
                        alt49=3;
                        }
                        break;
                    default:
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 49, 0, input);

                        throw nvae;

                    }

                    switch (alt49) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:92: IDENT
                            {
                            match(input,IDENT,FOLLOW_IDENT_in_retorno880); if (state.failed) return ;

                            }
                            break;
                        case 2 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:98: NUMERO
                            {
                            match(input,NUMERO,FOLLOW_NUMERO_in_retorno882); if (state.failed) return ;

                            }
                            break;
                        case 3 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:105: SIMBOLO
                            {
                            match(input,SIMBOLO,FOLLOW_SIMBOLO_in_retorno884); if (state.failed) return ;

                            }
                            break;
                        case 4 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:79:113: llamada_funcion
                            {
                            pushFollow(FOLLOW_llamada_funcion_in_retorno886);
                            llamada_funcion();

                            state._fsp--;
                            if (state.failed) return ;

                            }
                            break;

                    }


                    }


                    }
                    break;

            }


            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_retorno891); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "retorno"



    // $ANTLR start "regla_while"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:82:1: regla_while : WHILE condicion cuerpo ;
    public final void regla_while() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:82:12: ( WHILE condicion cuerpo )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:82:14: WHILE condicion cuerpo
            {
            match(input,WHILE,FOLLOW_WHILE_in_regla_while899); if (state.failed) return ;

            pushFollow(FOLLOW_condicion_in_regla_while901);
            condicion();

            state._fsp--;
            if (state.failed) return ;

            pushFollow(FOLLOW_cuerpo_in_regla_while903);
            cuerpo();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "regla_while"



    // $ANTLR start "condicion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:3: condicion : ( NOT )? PARENTESIS_A comparacion ( ( COND_AND | COND_OR ) ( NOT )? comparacion )* PARENTESIS_C ;
    public final void condicion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:12: ( ( NOT )? PARENTESIS_A comparacion ( ( COND_AND | COND_OR ) ( NOT )? comparacion )* PARENTESIS_C )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:14: ( NOT )? PARENTESIS_A comparacion ( ( COND_AND | COND_OR ) ( NOT )? comparacion )* PARENTESIS_C
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:14: ( NOT )?
            int alt51=2;
            int LA51_0 = input.LA(1);

            if ( (LA51_0==NOT) ) {
                alt51=1;
            }
            switch (alt51) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:14: NOT
                    {
                    match(input,NOT,FOLLOW_NOT_in_condicion911); if (state.failed) return ;

                    }
                    break;

            }


            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_condicion914); if (state.failed) return ;

            pushFollow(FOLLOW_comparacion_in_condicion916);
            comparacion();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:44: ( ( COND_AND | COND_OR ) ( NOT )? comparacion )*
            loop53:
            do {
                int alt53=2;
                int LA53_0 = input.LA(1);

                if ( ((LA53_0 >= COND_AND && LA53_0 <= COND_OR)) ) {
                    alt53=1;
                }


                switch (alt53) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:45: ( COND_AND | COND_OR ) ( NOT )? comparacion
            	    {
            	    if ( (input.LA(1) >= COND_AND && input.LA(1) <= COND_OR) ) {
            	        input.consume();
            	        state.errorRecovery=false;
            	        state.failed=false;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:64: ( NOT )?
            	    int alt52=2;
            	    int LA52_0 = input.LA(1);

            	    if ( (LA52_0==NOT) ) {
            	        alt52=1;
            	    }
            	    switch (alt52) {
            	        case 1 :
            	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:83:64: NOT
            	            {
            	            match(input,NOT,FOLLOW_NOT_in_condicion925); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    pushFollow(FOLLOW_comparacion_in_condicion928);
            	    comparacion();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop53;
                }
            } while (true);


            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_condicion932); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "condicion"



    // $ANTLR start "comparacion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:84:5: comparacion : opcionescomparacion ( comparador opcionescomparacion )* ;
    public final void comparacion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:84:16: ( opcionescomparacion ( comparador opcionescomparacion )* )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:84:18: opcionescomparacion ( comparador opcionescomparacion )*
            {
            pushFollow(FOLLOW_opcionescomparacion_in_comparacion942);
            opcionescomparacion();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:84:38: ( comparador opcionescomparacion )*
            loop54:
            do {
                int alt54=2;
                int LA54_0 = input.LA(1);

                if ( (LA54_0==IGUALQUE||(LA54_0 >= MAYORIGUALQUE && LA54_0 <= MENORQUE)) ) {
                    alt54=1;
                }


                switch (alt54) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:84:39: comparador opcionescomparacion
            	    {
            	    pushFollow(FOLLOW_comparador_in_comparacion945);
            	    comparador();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    pushFollow(FOLLOW_opcionescomparacion_in_comparacion947);
            	    opcionescomparacion();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop54;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "comparacion"



    // $ANTLR start "opcionescomparacion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:7: opcionescomparacion : ( expr | llamada_funcion | NUMERO | IDENT | PSEUDOVAR | SIMBOLO | incremento | decremento ) ;
    public final void opcionescomparacion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:26: ( ( expr | llamada_funcion | NUMERO | IDENT | PSEUDOVAR | SIMBOLO | incremento | decremento ) )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:28: ( expr | llamada_funcion | NUMERO | IDENT | PSEUDOVAR | SIMBOLO | incremento | decremento )
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:28: ( expr | llamada_funcion | NUMERO | IDENT | PSEUDOVAR | SIMBOLO | incremento | decremento )
            int alt55=8;
            switch ( input.LA(1) ) {
            case PARENTESIS_A:
                {
                switch ( input.LA(2) ) {
                case ASTERISCO:
                case NUMERO:
                case PSEUDOVAR:
                case VALOR:
                    {
                    alt55=1;
                    }
                    break;
                case IDENT:
                    {
                    switch ( input.LA(3) ) {
                    case ASTERISCO:
                    case COMA:
                    case CORCHETE_A:
                    case GUION:
                    case IGUAL:
                    case SLASH:
                    case SUMA:
                        {
                        alt55=1;
                        }
                        break;
                    case PARENTESIS_C:
                        {
                        int LA55_13 = input.LA(4);

                        if ( (LA55_13==INCREMENTO) ) {
                            alt55=7;
                        }
                        else if ( (LA55_13==DECREMENTO) ) {
                            alt55=8;
                        }
                        else {
                            if (state.backtracking>0) {state.failed=true; return ;}
                            NoViableAltException nvae =
                                new NoViableAltException("", 55, 13, input);

                            throw nvae;

                        }
                        }
                        break;
                    case INCREMENTO:
                        {
                        alt55=7;
                        }
                        break;
                    case DECREMENTO:
                        {
                        alt55=8;
                        }
                        break;
                    default:
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 55, 9, input);

                        throw nvae;

                    }

                    }
                    break;
                case INCREMENTO:
                    {
                    alt55=7;
                    }
                    break;
                case DECREMENTO:
                    {
                    alt55=8;
                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 55, 1, input);

                    throw nvae;

                }

                }
                break;
            case IDENT:
                {
                switch ( input.LA(2) ) {
                case PARENTESIS_A:
                    {
                    alt55=2;
                    }
                    break;
                case INCREMENTO:
                    {
                    alt55=7;
                    }
                    break;
                case DECREMENTO:
                    {
                    alt55=8;
                    }
                    break;
                case EOF:
                case COND_AND:
                case COND_OR:
                case IGUALQUE:
                case MAYORIGUALQUE:
                case MAYORQUE:
                case MENORIGUALQUE:
                case MENORQUE:
                case PUNTO_COMA:
                    {
                    alt55=4;
                    }
                    break;
                case PARENTESIS_C:
                    {
                    switch ( input.LA(3) ) {
                    case ASTERISCO:
                    case BREAK:
                    case CHAR:
                    case CONTINUE:
                    case DOBLE:
                    case FOR:
                    case IDENT:
                    case IF:
                    case INT:
                    case INTERVALO:
                    case LLAVE_A:
                    case PRINTF:
                    case PSEUDOVAR:
                    case REGISTRO:
                    case RET:
                    case VOID:
                    case WHILE:
                        {
                        alt55=4;
                        }
                        break;
                    case INCREMENTO:
                        {
                        alt55=7;
                        }
                        break;
                    case DECREMENTO:
                        {
                        alt55=8;
                        }
                        break;
                    default:
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 55, 12, input);

                        throw nvae;

                    }

                    }
                    break;
                default:
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 55, 2, input);

                    throw nvae;

                }

                }
                break;
            case NUMERO:
                {
                alt55=3;
                }
                break;
            case PSEUDOVAR:
                {
                alt55=5;
                }
                break;
            case SIMBOLO:
                {
                alt55=6;
                }
                break;
            case INCREMENTO:
                {
                alt55=7;
                }
                break;
            case DECREMENTO:
                {
                alt55=8;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 55, 0, input);

                throw nvae;

            }

            switch (alt55) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:29: expr
                    {
                    pushFollow(FOLLOW_expr_in_opcionescomparacion962);
                    expr();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:34: llamada_funcion
                    {
                    pushFollow(FOLLOW_llamada_funcion_in_opcionescomparacion964);
                    llamada_funcion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:50: NUMERO
                    {
                    match(input,NUMERO,FOLLOW_NUMERO_in_opcionescomparacion966); if (state.failed) return ;

                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:57: IDENT
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_opcionescomparacion968); if (state.failed) return ;

                    }
                    break;
                case 5 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:63: PSEUDOVAR
                    {
                    match(input,PSEUDOVAR,FOLLOW_PSEUDOVAR_in_opcionescomparacion970); if (state.failed) return ;

                    }
                    break;
                case 6 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:73: SIMBOLO
                    {
                    match(input,SIMBOLO,FOLLOW_SIMBOLO_in_opcionescomparacion972); if (state.failed) return ;

                    }
                    break;
                case 7 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:81: incremento
                    {
                    pushFollow(FOLLOW_incremento_in_opcionescomparacion974);
                    incremento();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 8 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:85:92: decremento
                    {
                    pushFollow(FOLLOW_decremento_in_opcionescomparacion976);
                    decremento();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "opcionescomparacion"



    // $ANTLR start "expr"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:86:7: expr : PARENTESIS_A ( asignacion | operacion ) PARENTESIS_C ;
    public final void expr() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:86:11: ( PARENTESIS_A ( asignacion | operacion ) PARENTESIS_C )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:86:13: PARENTESIS_A ( asignacion | operacion ) PARENTESIS_C
            {
            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_expr989); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:86:26: ( asignacion | operacion )
            int alt56=2;
            switch ( input.LA(1) ) {
            case ASTERISCO:
            case PSEUDOVAR:
                {
                alt56=1;
                }
                break;
            case IDENT:
                {
                int LA56_2 = input.LA(2);

                if ( (LA56_2==COMA||LA56_2==CORCHETE_A||LA56_2==IGUAL) ) {
                    alt56=1;
                }
                else if ( (LA56_2==ASTERISCO||LA56_2==GUION||LA56_2==SLASH||LA56_2==SUMA) ) {
                    alt56=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 56, 2, input);

                    throw nvae;

                }
                }
                break;
            case NUMERO:
            case VALOR:
                {
                alt56=2;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 56, 0, input);

                throw nvae;

            }

            switch (alt56) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:86:27: asignacion
                    {
                    pushFollow(FOLLOW_asignacion_in_expr992);
                    asignacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:86:38: operacion
                    {
                    pushFollow(FOLLOW_operacion_in_expr994);
                    operacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_expr997); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "expr"



    // $ANTLR start "regla_if"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:1: regla_if : IF condicion cuerpo ( ELSE cuerpo )? ;
    public final void regla_if() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:9: ( IF condicion cuerpo ( ELSE cuerpo )? )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:11: IF condicion cuerpo ( ELSE cuerpo )?
            {
            match(input,IF,FOLLOW_IF_in_regla_if1005); if (state.failed) return ;

            pushFollow(FOLLOW_condicion_in_regla_if1007);
            condicion();

            state._fsp--;
            if (state.failed) return ;

            pushFollow(FOLLOW_cuerpo_in_regla_if1009);
            cuerpo();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:31: ( ELSE cuerpo )?
            int alt57=2;
            int LA57_0 = input.LA(1);

            if ( (LA57_0==ELSE) ) {
                int LA57_1 = input.LA(2);

                if ( (synpred110_YACCParser()) ) {
                    alt57=1;
                }
            }
            switch (alt57) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:32: ELSE cuerpo
                    {
                    match(input,ELSE,FOLLOW_ELSE_in_regla_if1012); if (state.failed) return ;

                    pushFollow(FOLLOW_cuerpo_in_regla_if1014);
                    cuerpo();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "regla_if"



    // $ANTLR start "regla_for"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:92:1: regla_for : FOR PARENTESIS_A iteracion_for PARENTESIS_C cuerpo ;
    public final void regla_for() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:92:10: ( FOR PARENTESIS_A iteracion_for PARENTESIS_C cuerpo )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:92:12: FOR PARENTESIS_A iteracion_for PARENTESIS_C cuerpo
            {
            match(input,FOR,FOLLOW_FOR_in_regla_for1028); if (state.failed) return ;

            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_regla_for1030); if (state.failed) return ;

            pushFollow(FOLLOW_iteracion_for_in_regla_for1032);
            iteracion_for();

            state._fsp--;
            if (state.failed) return ;

            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_regla_for1034); if (state.failed) return ;

            pushFollow(FOLLOW_cuerpo_in_regla_for1036);
            cuerpo();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "regla_for"



    // $ANTLR start "iteracion_for"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:3: iteracion_for : ( ( ( INT )? asignacion ) | PUNTO_COMA ) ( comparacion )? PUNTO_COMA ( incremento | decremento )? ( COMA asignacion )? ;
    public final void iteracion_for() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:16: ( ( ( ( INT )? asignacion ) | PUNTO_COMA ) ( comparacion )? PUNTO_COMA ( incremento | decremento )? ( COMA asignacion )? )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:18: ( ( ( INT )? asignacion ) | PUNTO_COMA ) ( comparacion )? PUNTO_COMA ( incremento | decremento )? ( COMA asignacion )?
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:18: ( ( ( INT )? asignacion ) | PUNTO_COMA )
            int alt59=2;
            int LA59_0 = input.LA(1);

            if ( (LA59_0==ASTERISCO||LA59_0==IDENT||LA59_0==INT||LA59_0==PSEUDOVAR) ) {
                alt59=1;
            }
            else if ( (LA59_0==PUNTO_COMA) ) {
                alt59=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 59, 0, input);

                throw nvae;

            }
            switch (alt59) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:19: ( ( INT )? asignacion )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:19: ( ( INT )? asignacion )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:20: ( INT )? asignacion
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:20: ( INT )?
                    int alt58=2;
                    int LA58_0 = input.LA(1);

                    if ( (LA58_0==INT) ) {
                        alt58=1;
                    }
                    switch (alt58) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:20: INT
                            {
                            match(input,INT,FOLLOW_INT_in_iteracion_for1046); if (state.failed) return ;

                            }
                            break;

                    }


                    pushFollow(FOLLOW_asignacion_in_iteracion_for1049);
                    asignacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:37: PUNTO_COMA
                    {
                    match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_iteracion_for1052); if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:49: ( comparacion )?
            int alt60=2;
            int LA60_0 = input.LA(1);

            if ( (LA60_0==DECREMENTO||LA60_0==IDENT||LA60_0==INCREMENTO||LA60_0==NUMERO||LA60_0==PARENTESIS_A||LA60_0==PSEUDOVAR||LA60_0==SIMBOLO) ) {
                alt60=1;
            }
            switch (alt60) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:49: comparacion
                    {
                    pushFollow(FOLLOW_comparacion_in_iteracion_for1055);
                    comparacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_iteracion_for1058); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:73: ( incremento | decremento )?
            int alt61=3;
            switch ( input.LA(1) ) {
                case PARENTESIS_A:
                    {
                    switch ( input.LA(2) ) {
                        case IDENT:
                            {
                            switch ( input.LA(3) ) {
                                case PARENTESIS_C:
                                    {
                                    int LA61_7 = input.LA(4);

                                    if ( (LA61_7==INCREMENTO) ) {
                                        alt61=1;
                                    }
                                    else if ( (LA61_7==DECREMENTO) ) {
                                        alt61=2;
                                    }
                                    }
                                    break;
                                case INCREMENTO:
                                    {
                                    alt61=1;
                                    }
                                    break;
                                case DECREMENTO:
                                    {
                                    alt61=2;
                                    }
                                    break;
                            }

                            }
                            break;
                        case INCREMENTO:
                            {
                            alt61=1;
                            }
                            break;
                        case DECREMENTO:
                            {
                            alt61=2;
                            }
                            break;
                    }

                    }
                    break;
                case IDENT:
                    {
                    switch ( input.LA(2) ) {
                        case INCREMENTO:
                            {
                            alt61=1;
                            }
                            break;
                        case DECREMENTO:
                            {
                            alt61=2;
                            }
                            break;
                        case PARENTESIS_C:
                            {
                            int LA61_7 = input.LA(3);

                            if ( (LA61_7==INCREMENTO) ) {
                                alt61=1;
                            }
                            else if ( (LA61_7==DECREMENTO) ) {
                                alt61=2;
                            }
                            }
                            break;
                    }

                    }
                    break;
                case INCREMENTO:
                    {
                    alt61=1;
                    }
                    break;
                case DECREMENTO:
                    {
                    alt61=2;
                    }
                    break;
            }

            switch (alt61) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:74: incremento
                    {
                    pushFollow(FOLLOW_incremento_in_iteracion_for1061);
                    incremento();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:85: decremento
                    {
                    pushFollow(FOLLOW_decremento_in_iteracion_for1063);
                    decremento();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:98: ( COMA asignacion )?
            int alt62=2;
            int LA62_0 = input.LA(1);

            if ( (LA62_0==COMA) ) {
                alt62=1;
            }
            switch (alt62) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:93:99: COMA asignacion
                    {
                    match(input,COMA,FOLLOW_COMA_in_iteracion_for1068); if (state.failed) return ;

                    pushFollow(FOLLOW_asignacion_in_iteracion_for1070);
                    asignacion();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "iteracion_for"



    // $ANTLR start "incremento"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:5: incremento : ( ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO ) | ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? ) | ( IDENT INCREMENTO ) | ( INCREMENTO IDENT ) );
    public final void incremento() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:15: ( ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO ) | ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? ) | ( IDENT INCREMENTO ) | ( INCREMENTO IDENT ) )
            int alt67=4;
            switch ( input.LA(1) ) {
            case PARENTESIS_A:
                {
                int LA67_1 = input.LA(2);

                if ( (LA67_1==IDENT) ) {
                    alt67=1;
                }
                else if ( (LA67_1==INCREMENTO) ) {
                    alt67=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 67, 1, input);

                    throw nvae;

                }
                }
                break;
            case IDENT:
                {
                int LA67_2 = input.LA(2);

                if ( (LA67_2==INCREMENTO) ) {
                    int LA67_6 = input.LA(3);

                    if ( (synpred119_YACCParser()) ) {
                        alt67=1;
                    }
                    else if ( (synpred123_YACCParser()) ) {
                        alt67=3;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 67, 6, input);

                        throw nvae;

                    }
                }
                else if ( (LA67_2==PARENTESIS_C) ) {
                    alt67=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 67, 2, input);

                    throw nvae;

                }
                }
                break;
            case INCREMENTO:
                {
                int LA67_3 = input.LA(2);

                if ( (LA67_3==IDENT) ) {
                    int LA67_7 = input.LA(3);

                    if ( (synpred122_YACCParser()) ) {
                        alt67=2;
                    }
                    else if ( (true) ) {
                        alt67=4;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 67, 7, input);

                        throw nvae;

                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 67, 3, input);

                    throw nvae;

                }
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 67, 0, input);

                throw nvae;

            }

            switch (alt67) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:18: ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:18: ( PARENTESIS_A )?
                    int alt63=2;
                    int LA63_0 = input.LA(1);

                    if ( (LA63_0==PARENTESIS_A) ) {
                        alt63=1;
                    }
                    switch (alt63) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:18: PARENTESIS_A
                            {
                            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_incremento1083); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,IDENT,FOLLOW_IDENT_in_incremento1086); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:38: ( PARENTESIS_C )?
                    int alt64=2;
                    int LA64_0 = input.LA(1);

                    if ( (LA64_0==PARENTESIS_C) ) {
                        alt64=1;
                    }
                    switch (alt64) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:38: PARENTESIS_C
                            {
                            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_incremento1088); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,INCREMENTO,FOLLOW_INCREMENTO_in_incremento1091); if (state.failed) return ;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:64: ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:64: ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:65: ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )?
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:65: ( PARENTESIS_A )?
                    int alt65=2;
                    int LA65_0 = input.LA(1);

                    if ( (LA65_0==PARENTESIS_A) ) {
                        alt65=1;
                    }
                    switch (alt65) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:65: PARENTESIS_A
                            {
                            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_incremento1095); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,INCREMENTO,FOLLOW_INCREMENTO_in_incremento1098); if (state.failed) return ;

                    match(input,IDENT,FOLLOW_IDENT_in_incremento1100); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:96: ( PARENTESIS_C )?
                    int alt66=2;
                    int LA66_0 = input.LA(1);

                    if ( (LA66_0==PARENTESIS_C) ) {
                        int LA66_1 = input.LA(2);

                        if ( (LA66_1==EOF||LA66_1==COMA||(LA66_1 >= COND_AND && LA66_1 <= COND_OR)||LA66_1==IGUALQUE||(LA66_1 >= MAYORIGUALQUE && LA66_1 <= MENORQUE)||LA66_1==PARENTESIS_C||LA66_1==PUNTO_COMA) ) {
                            alt66=1;
                        }
                    }
                    switch (alt66) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:96: PARENTESIS_C
                            {
                            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_incremento1102); if (state.failed) return ;

                            }
                            break;

                    }


                    }


                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:17: ( IDENT INCREMENTO )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:17: ( IDENT INCREMENTO )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:18: IDENT INCREMENTO
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_incremento1124); if (state.failed) return ;

                    match(input,INCREMENTO,FOLLOW_INCREMENTO_in_incremento1126); if (state.failed) return ;

                    }


                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:36: ( INCREMENTO IDENT )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:36: ( INCREMENTO IDENT )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:37: INCREMENTO IDENT
                    {
                    match(input,INCREMENTO,FOLLOW_INCREMENTO_in_incremento1130); if (state.failed) return ;

                    match(input,IDENT,FOLLOW_IDENT_in_incremento1132); if (state.failed) return ;

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "incremento"



    // $ANTLR start "decremento"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:5: decremento : ( ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO ) | ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? ) | ( IDENT DECREMENTO ) | ( DECREMENTO IDENT ) );
    public final void decremento() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:15: ( ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO ) | ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? ) | ( IDENT DECREMENTO ) | ( DECREMENTO IDENT ) )
            int alt72=4;
            switch ( input.LA(1) ) {
            case PARENTESIS_A:
                {
                int LA72_1 = input.LA(2);

                if ( (LA72_1==IDENT) ) {
                    alt72=1;
                }
                else if ( (LA72_1==DECREMENTO) ) {
                    alt72=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 72, 1, input);

                    throw nvae;

                }
                }
                break;
            case IDENT:
                {
                int LA72_2 = input.LA(2);

                if ( (LA72_2==DECREMENTO) ) {
                    int LA72_6 = input.LA(3);

                    if ( (synpred126_YACCParser()) ) {
                        alt72=1;
                    }
                    else if ( (synpred130_YACCParser()) ) {
                        alt72=3;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 72, 6, input);

                        throw nvae;

                    }
                }
                else if ( (LA72_2==PARENTESIS_C) ) {
                    alt72=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 72, 2, input);

                    throw nvae;

                }
                }
                break;
            case DECREMENTO:
                {
                int LA72_3 = input.LA(2);

                if ( (LA72_3==IDENT) ) {
                    int LA72_7 = input.LA(3);

                    if ( (synpred129_YACCParser()) ) {
                        alt72=2;
                    }
                    else if ( (true) ) {
                        alt72=4;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 72, 7, input);

                        throw nvae;

                    }
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 72, 3, input);

                    throw nvae;

                }
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 72, 0, input);

                throw nvae;

            }

            switch (alt72) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:18: ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:18: ( PARENTESIS_A )?
                    int alt68=2;
                    int LA68_0 = input.LA(1);

                    if ( (LA68_0==PARENTESIS_A) ) {
                        alt68=1;
                    }
                    switch (alt68) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:18: PARENTESIS_A
                            {
                            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_decremento1144); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,IDENT,FOLLOW_IDENT_in_decremento1147); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:38: ( PARENTESIS_C )?
                    int alt69=2;
                    int LA69_0 = input.LA(1);

                    if ( (LA69_0==PARENTESIS_C) ) {
                        alt69=1;
                    }
                    switch (alt69) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:38: PARENTESIS_C
                            {
                            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_decremento1149); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,DECREMENTO,FOLLOW_DECREMENTO_in_decremento1152); if (state.failed) return ;

                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:64: ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:64: ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:65: ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )?
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:65: ( PARENTESIS_A )?
                    int alt70=2;
                    int LA70_0 = input.LA(1);

                    if ( (LA70_0==PARENTESIS_A) ) {
                        alt70=1;
                    }
                    switch (alt70) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:65: PARENTESIS_A
                            {
                            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_decremento1156); if (state.failed) return ;

                            }
                            break;

                    }


                    match(input,DECREMENTO,FOLLOW_DECREMENTO_in_decremento1159); if (state.failed) return ;

                    match(input,IDENT,FOLLOW_IDENT_in_decremento1161); if (state.failed) return ;

                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:96: ( PARENTESIS_C )?
                    int alt71=2;
                    int LA71_0 = input.LA(1);

                    if ( (LA71_0==PARENTESIS_C) ) {
                        int LA71_1 = input.LA(2);

                        if ( (LA71_1==EOF||LA71_1==COMA||(LA71_1 >= COND_AND && LA71_1 <= COND_OR)||LA71_1==IGUALQUE||(LA71_1 >= MAYORIGUALQUE && LA71_1 <= MENORQUE)||LA71_1==PARENTESIS_C||LA71_1==PUNTO_COMA) ) {
                            alt71=1;
                        }
                    }
                    switch (alt71) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:96: PARENTESIS_C
                            {
                            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_decremento1163); if (state.failed) return ;

                            }
                            break;

                    }


                    }


                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:17: ( IDENT DECREMENTO )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:17: ( IDENT DECREMENTO )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:18: IDENT DECREMENTO
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_decremento1185); if (state.failed) return ;

                    match(input,DECREMENTO,FOLLOW_DECREMENTO_in_decremento1187); if (state.failed) return ;

                    }


                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:36: ( DECREMENTO IDENT )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:36: ( DECREMENTO IDENT )
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:37: DECREMENTO IDENT
                    {
                    match(input,DECREMENTO,FOLLOW_DECREMENTO_in_decremento1191); if (state.failed) return ;

                    match(input,IDENT,FOLLOW_IDENT_in_decremento1193); if (state.failed) return ;

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "decremento"



    // $ANTLR start "funcionyacc"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:1: funcionyacc : ( INTERVALO )? llamada_funcion ( defvar )* cuerpo ;
    public final void funcionyacc() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:12: ( ( INTERVALO )? llamada_funcion ( defvar )* cuerpo )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:14: ( INTERVALO )? llamada_funcion ( defvar )* cuerpo
            {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:14: ( INTERVALO )?
            int alt73=2;
            int LA73_0 = input.LA(1);

            if ( (LA73_0==INTERVALO) ) {
                alt73=1;
            }
            switch (alt73) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:14: INTERVALO
                    {
                    match(input,INTERVALO,FOLLOW_INTERVALO_in_funcionyacc1210); if (state.failed) return ;

                    }
                    break;

            }


            pushFollow(FOLLOW_llamada_funcion_in_funcionyacc1213);
            llamada_funcion();

            state._fsp--;
            if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:41: ( defvar )*
            loop74:
            do {
                int alt74=2;
                alt74 = dfa74.predict(input);
                switch (alt74) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:100:41: defvar
            	    {
            	    pushFollow(FOLLOW_defvar_in_funcionyacc1215);
            	    defvar();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop74;
                }
            } while (true);


            pushFollow(FOLLOW_cuerpo_in_funcionyacc1218);
            cuerpo();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "funcionyacc"



    // $ANTLR start "llamada_funcion"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:1: llamada_funcion : IDENT PARENTESIS_A ( ( VALOR | IDENT | NUMERO | operacion ) ( COMA ( VALOR | IDENT | NUMERO | operacion ) )* )? PARENTESIS_C ;
    public final void llamada_funcion() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:16: ( IDENT PARENTESIS_A ( ( VALOR | IDENT | NUMERO | operacion ) ( COMA ( VALOR | IDENT | NUMERO | operacion ) )* )? PARENTESIS_C )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:18: IDENT PARENTESIS_A ( ( VALOR | IDENT | NUMERO | operacion ) ( COMA ( VALOR | IDENT | NUMERO | operacion ) )* )? PARENTESIS_C
            {
            match(input,IDENT,FOLLOW_IDENT_in_llamada_funcion1225); if (state.failed) return ;

            match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_llamada_funcion1227); if (state.failed) return ;

            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:37: ( ( VALOR | IDENT | NUMERO | operacion ) ( COMA ( VALOR | IDENT | NUMERO | operacion ) )* )?
            int alt78=2;
            int LA78_0 = input.LA(1);

            if ( (LA78_0==IDENT||LA78_0==NUMERO||LA78_0==VALOR) ) {
                alt78=1;
            }
            switch (alt78) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:38: ( VALOR | IDENT | NUMERO | operacion ) ( COMA ( VALOR | IDENT | NUMERO | operacion ) )*
                    {
                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:38: ( VALOR | IDENT | NUMERO | operacion )
                    int alt75=4;
                    switch ( input.LA(1) ) {
                    case VALOR:
                        {
                        int LA75_1 = input.LA(2);

                        if ( (LA75_1==COMA||LA75_1==PARENTESIS_C) ) {
                            alt75=1;
                        }
                        else if ( (LA75_1==ASTERISCO||LA75_1==GUION||LA75_1==SLASH||LA75_1==SUMA) ) {
                            alt75=4;
                        }
                        else {
                            if (state.backtracking>0) {state.failed=true; return ;}
                            NoViableAltException nvae =
                                new NoViableAltException("", 75, 1, input);

                            throw nvae;

                        }
                        }
                        break;
                    case IDENT:
                        {
                        int LA75_2 = input.LA(2);

                        if ( (LA75_2==COMA||LA75_2==PARENTESIS_C) ) {
                            alt75=2;
                        }
                        else if ( (LA75_2==ASTERISCO||LA75_2==GUION||LA75_2==SLASH||LA75_2==SUMA) ) {
                            alt75=4;
                        }
                        else {
                            if (state.backtracking>0) {state.failed=true; return ;}
                            NoViableAltException nvae =
                                new NoViableAltException("", 75, 2, input);

                            throw nvae;

                        }
                        }
                        break;
                    case NUMERO:
                        {
                        int LA75_3 = input.LA(2);

                        if ( (LA75_3==COMA||LA75_3==PARENTESIS_C) ) {
                            alt75=3;
                        }
                        else if ( (LA75_3==ASTERISCO||LA75_3==GUION||LA75_3==SLASH||LA75_3==SUMA) ) {
                            alt75=4;
                        }
                        else {
                            if (state.backtracking>0) {state.failed=true; return ;}
                            NoViableAltException nvae =
                                new NoViableAltException("", 75, 3, input);

                            throw nvae;

                        }
                        }
                        break;
                    default:
                        if (state.backtracking>0) {state.failed=true; return ;}
                        NoViableAltException nvae =
                            new NoViableAltException("", 75, 0, input);

                        throw nvae;

                    }

                    switch (alt75) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:39: VALOR
                            {
                            match(input,VALOR,FOLLOW_VALOR_in_llamada_funcion1231); if (state.failed) return ;

                            }
                            break;
                        case 2 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:45: IDENT
                            {
                            match(input,IDENT,FOLLOW_IDENT_in_llamada_funcion1233); if (state.failed) return ;

                            }
                            break;
                        case 3 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:51: NUMERO
                            {
                            match(input,NUMERO,FOLLOW_NUMERO_in_llamada_funcion1235); if (state.failed) return ;

                            }
                            break;
                        case 4 :
                            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:58: operacion
                            {
                            pushFollow(FOLLOW_operacion_in_llamada_funcion1237);
                            operacion();

                            state._fsp--;
                            if (state.failed) return ;

                            }
                            break;

                    }


                    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:69: ( COMA ( VALOR | IDENT | NUMERO | operacion ) )*
                    loop77:
                    do {
                        int alt77=2;
                        int LA77_0 = input.LA(1);

                        if ( (LA77_0==COMA) ) {
                            alt77=1;
                        }


                        switch (alt77) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:70: COMA ( VALOR | IDENT | NUMERO | operacion )
                    	    {
                    	    match(input,COMA,FOLLOW_COMA_in_llamada_funcion1241); if (state.failed) return ;

                    	    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:75: ( VALOR | IDENT | NUMERO | operacion )
                    	    int alt76=4;
                    	    switch ( input.LA(1) ) {
                    	    case VALOR:
                    	        {
                    	        int LA76_1 = input.LA(2);

                    	        if ( (LA76_1==COMA||LA76_1==PARENTESIS_C) ) {
                    	            alt76=1;
                    	        }
                    	        else if ( (LA76_1==ASTERISCO||LA76_1==GUION||LA76_1==SLASH||LA76_1==SUMA) ) {
                    	            alt76=4;
                    	        }
                    	        else {
                    	            if (state.backtracking>0) {state.failed=true; return ;}
                    	            NoViableAltException nvae =
                    	                new NoViableAltException("", 76, 1, input);

                    	            throw nvae;

                    	        }
                    	        }
                    	        break;
                    	    case IDENT:
                    	        {
                    	        int LA76_2 = input.LA(2);

                    	        if ( (LA76_2==COMA||LA76_2==PARENTESIS_C) ) {
                    	            alt76=2;
                    	        }
                    	        else if ( (LA76_2==ASTERISCO||LA76_2==GUION||LA76_2==SLASH||LA76_2==SUMA) ) {
                    	            alt76=4;
                    	        }
                    	        else {
                    	            if (state.backtracking>0) {state.failed=true; return ;}
                    	            NoViableAltException nvae =
                    	                new NoViableAltException("", 76, 2, input);

                    	            throw nvae;

                    	        }
                    	        }
                    	        break;
                    	    case NUMERO:
                    	        {
                    	        int LA76_3 = input.LA(2);

                    	        if ( (LA76_3==COMA||LA76_3==PARENTESIS_C) ) {
                    	            alt76=3;
                    	        }
                    	        else if ( (LA76_3==ASTERISCO||LA76_3==GUION||LA76_3==SLASH||LA76_3==SUMA) ) {
                    	            alt76=4;
                    	        }
                    	        else {
                    	            if (state.backtracking>0) {state.failed=true; return ;}
                    	            NoViableAltException nvae =
                    	                new NoViableAltException("", 76, 3, input);

                    	            throw nvae;

                    	        }
                    	        }
                    	        break;
                    	    default:
                    	        if (state.backtracking>0) {state.failed=true; return ;}
                    	        NoViableAltException nvae =
                    	            new NoViableAltException("", 76, 0, input);

                    	        throw nvae;

                    	    }

                    	    switch (alt76) {
                    	        case 1 :
                    	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:76: VALOR
                    	            {
                    	            match(input,VALOR,FOLLOW_VALOR_in_llamada_funcion1244); if (state.failed) return ;

                    	            }
                    	            break;
                    	        case 2 :
                    	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:82: IDENT
                    	            {
                    	            match(input,IDENT,FOLLOW_IDENT_in_llamada_funcion1246); if (state.failed) return ;

                    	            }
                    	            break;
                    	        case 3 :
                    	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:88: NUMERO
                    	            {
                    	            match(input,NUMERO,FOLLOW_NUMERO_in_llamada_funcion1248); if (state.failed) return ;

                    	            }
                    	            break;
                    	        case 4 :
                    	            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:102:95: operacion
                    	            {
                    	            pushFollow(FOLLOW_operacion_in_llamada_funcion1250);
                    	            operacion();

                    	            state._fsp--;
                    	            if (state.failed) return ;

                    	            }
                    	            break;

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop77;
                        }
                    } while (true);


                    }
                    break;

            }


            match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_llamada_funcion1257); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "llamada_funcion"



    // $ANTLR start "tipo"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:103:1: tipo : ( DOBLE | INT | CHAR | VOID | INTERVALO | REGISTRO );
    public final void tipo() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:103:5: ( DOBLE | INT | CHAR | VOID | INTERVALO | REGISTRO )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:
            {
            if ( input.LA(1)==CHAR||input.LA(1)==DOBLE||(input.LA(1) >= INT && input.LA(1) <= INTERVALO)||input.LA(1)==REGISTRO||input.LA(1)==VOID ) {
                input.consume();
                state.errorRecovery=false;
                state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "tipo"



    // $ANTLR start "comparador"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:104:1: comparador : ( IGUALQUE | MAYORQUE | MENORQUE | MAYORIGUALQUE | MENORIGUALQUE );
    public final void comparador() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:104:11: ( IGUALQUE | MAYORQUE | MENORQUE | MAYORIGUALQUE | MENORIGUALQUE )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:
            {
            if ( input.LA(1)==IGUALQUE||(input.LA(1) >= MAYORIGUALQUE && input.LA(1) <= MENORQUE) ) {
                input.consume();
                state.errorRecovery=false;
                state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "comparador"



    // $ANTLR start "var_ang"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:105:1: var_ang : MENORQUE IDENT MAYORQUE ;
    public final void var_ang() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:105:8: ( MENORQUE IDENT MAYORQUE )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:105:10: MENORQUE IDENT MAYORQUE
            {
            match(input,MENORQUE,FOLLOW_MENORQUE_in_var_ang1293); if (state.failed) return ;

            match(input,IDENT,FOLLOW_IDENT_in_var_ang1295); if (state.failed) return ;

            match(input,MAYORQUE,FOLLOW_MAYORQUE_in_var_ang1297); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "var_ang"



    // $ANTLR start "continuar"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:106:1: continuar : CONTINUE PUNTO_COMA ;
    public final void continuar() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:106:10: ( CONTINUE PUNTO_COMA )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:106:12: CONTINUE PUNTO_COMA
            {
            match(input,CONTINUE,FOLLOW_CONTINUE_in_continuar1303); if (state.failed) return ;

            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_continuar1305); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "continuar"



    // $ANTLR start "salir"
    // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:107:1: salir : BREAK PUNTO_COMA ;
    public final void salir() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:107:6: ( BREAK PUNTO_COMA )
            // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:107:8: BREAK PUNTO_COMA
            {
            match(input,BREAK,FOLLOW_BREAK_in_salir1311); if (state.failed) return ;

            match(input,PUNTO_COMA,FOLLOW_PUNTO_COMA_in_salir1313); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "salir"

    // $ANTLR start synpred51_YACCParser
    public final void synpred51_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:29: ( IDENT )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:59:29: IDENT
        {
        match(input,IDENT,FOLLOW_IDENT_in_synpred51_YACCParser521); if (state.failed) return ;

        }

    }
    // $ANTLR end synpred51_YACCParser

    // $ANTLR start synpred110_YACCParser
    public final void synpred110_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:32: ( ELSE cuerpo )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:89:32: ELSE cuerpo
        {
        match(input,ELSE,FOLLOW_ELSE_in_synpred110_YACCParser1012); if (state.failed) return ;

        pushFollow(FOLLOW_cuerpo_in_synpred110_YACCParser1014);
        cuerpo();

        state._fsp--;
        if (state.failed) return ;

        }

    }
    // $ANTLR end synpred110_YACCParser

    // $ANTLR start synpred119_YACCParser
    public final void synpred119_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:17: ( ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO ) )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO )
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:18: ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? INCREMENTO
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:18: ( PARENTESIS_A )?
        int alt94=2;
        int LA94_0 = input.LA(1);

        if ( (LA94_0==PARENTESIS_A) ) {
            alt94=1;
        }
        switch (alt94) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:18: PARENTESIS_A
                {
                match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_synpred119_YACCParser1083); if (state.failed) return ;

                }
                break;

        }


        match(input,IDENT,FOLLOW_IDENT_in_synpred119_YACCParser1086); if (state.failed) return ;

        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:38: ( PARENTESIS_C )?
        int alt95=2;
        int LA95_0 = input.LA(1);

        if ( (LA95_0==PARENTESIS_C) ) {
            alt95=1;
        }
        switch (alt95) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:38: PARENTESIS_C
                {
                match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_synpred119_YACCParser1088); if (state.failed) return ;

                }
                break;

        }


        match(input,INCREMENTO,FOLLOW_INCREMENTO_in_synpred119_YACCParser1091); if (state.failed) return ;

        }


        }

    }
    // $ANTLR end synpred119_YACCParser

    // $ANTLR start synpred122_YACCParser
    public final void synpred122_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:64: ( ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? ) )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:64: ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? )
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:64: ( ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )? )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:65: ( PARENTESIS_A )? INCREMENTO IDENT ( PARENTESIS_C )?
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:65: ( PARENTESIS_A )?
        int alt96=2;
        int LA96_0 = input.LA(1);

        if ( (LA96_0==PARENTESIS_A) ) {
            alt96=1;
        }
        switch (alt96) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:65: PARENTESIS_A
                {
                match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_synpred122_YACCParser1095); if (state.failed) return ;

                }
                break;

        }


        match(input,INCREMENTO,FOLLOW_INCREMENTO_in_synpred122_YACCParser1098); if (state.failed) return ;

        match(input,IDENT,FOLLOW_IDENT_in_synpred122_YACCParser1100); if (state.failed) return ;

        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:96: ( PARENTESIS_C )?
        int alt97=2;
        int LA97_0 = input.LA(1);

        if ( (LA97_0==PARENTESIS_C) ) {
            alt97=1;
        }
        switch (alt97) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:94:96: PARENTESIS_C
                {
                match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_synpred122_YACCParser1102); if (state.failed) return ;

                }
                break;

        }


        }


        }

    }
    // $ANTLR end synpred122_YACCParser

    // $ANTLR start synpred123_YACCParser
    public final void synpred123_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:17: ( ( IDENT INCREMENTO ) )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:17: ( IDENT INCREMENTO )
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:17: ( IDENT INCREMENTO )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:95:18: IDENT INCREMENTO
        {
        match(input,IDENT,FOLLOW_IDENT_in_synpred123_YACCParser1124); if (state.failed) return ;

        match(input,INCREMENTO,FOLLOW_INCREMENTO_in_synpred123_YACCParser1126); if (state.failed) return ;

        }


        }

    }
    // $ANTLR end synpred123_YACCParser

    // $ANTLR start synpred126_YACCParser
    public final void synpred126_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:17: ( ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO ) )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO )
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:17: ( ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:18: ( PARENTESIS_A )? IDENT ( PARENTESIS_C )? DECREMENTO
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:18: ( PARENTESIS_A )?
        int alt98=2;
        int LA98_0 = input.LA(1);

        if ( (LA98_0==PARENTESIS_A) ) {
            alt98=1;
        }
        switch (alt98) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:18: PARENTESIS_A
                {
                match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_synpred126_YACCParser1144); if (state.failed) return ;

                }
                break;

        }


        match(input,IDENT,FOLLOW_IDENT_in_synpred126_YACCParser1147); if (state.failed) return ;

        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:38: ( PARENTESIS_C )?
        int alt99=2;
        int LA99_0 = input.LA(1);

        if ( (LA99_0==PARENTESIS_C) ) {
            alt99=1;
        }
        switch (alt99) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:38: PARENTESIS_C
                {
                match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_synpred126_YACCParser1149); if (state.failed) return ;

                }
                break;

        }


        match(input,DECREMENTO,FOLLOW_DECREMENTO_in_synpred126_YACCParser1152); if (state.failed) return ;

        }


        }

    }
    // $ANTLR end synpred126_YACCParser

    // $ANTLR start synpred129_YACCParser
    public final void synpred129_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:64: ( ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? ) )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:64: ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? )
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:64: ( ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )? )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:65: ( PARENTESIS_A )? DECREMENTO IDENT ( PARENTESIS_C )?
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:65: ( PARENTESIS_A )?
        int alt100=2;
        int LA100_0 = input.LA(1);

        if ( (LA100_0==PARENTESIS_A) ) {
            alt100=1;
        }
        switch (alt100) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:65: PARENTESIS_A
                {
                match(input,PARENTESIS_A,FOLLOW_PARENTESIS_A_in_synpred129_YACCParser1156); if (state.failed) return ;

                }
                break;

        }


        match(input,DECREMENTO,FOLLOW_DECREMENTO_in_synpred129_YACCParser1159); if (state.failed) return ;

        match(input,IDENT,FOLLOW_IDENT_in_synpred129_YACCParser1161); if (state.failed) return ;

        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:96: ( PARENTESIS_C )?
        int alt101=2;
        int LA101_0 = input.LA(1);

        if ( (LA101_0==PARENTESIS_C) ) {
            alt101=1;
        }
        switch (alt101) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:96:96: PARENTESIS_C
                {
                match(input,PARENTESIS_C,FOLLOW_PARENTESIS_C_in_synpred129_YACCParser1163); if (state.failed) return ;

                }
                break;

        }


        }


        }

    }
    // $ANTLR end synpred129_YACCParser

    // $ANTLR start synpred130_YACCParser
    public final void synpred130_YACCParser_fragment() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:17: ( ( IDENT DECREMENTO ) )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:17: ( IDENT DECREMENTO )
        {
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:17: ( IDENT DECREMENTO )
        // C:\\Users\\usuario\\workspace\\Practica7-PL\\src\\main\\java\\practica7\\YACCParser.g:97:18: IDENT DECREMENTO
        {
        match(input,IDENT,FOLLOW_IDENT_in_synpred130_YACCParser1185); if (state.failed) return ;

        match(input,DECREMENTO,FOLLOW_DECREMENTO_in_synpred130_YACCParser1187); if (state.failed) return ;

        }


        }

    }
    // $ANTLR end synpred130_YACCParser

    // Delegated rules

    public final boolean synpred126_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred126_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred129_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred129_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred123_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred123_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred110_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred110_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred119_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred119_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred51_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred51_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred122_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred122_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred130_YACCParser() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred130_YACCParser_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }


    protected DFA34 dfa34 = new DFA34(this);
    protected DFA74 dfa74 = new DFA74(this);
    static final String DFA34_eotS =
        "\37\uffff";
    static final String DFA34_eofS =
        "\1\uffff\1\7\1\uffff\1\12\1\13\16\uffff\1\30\2\uffff\1\17\10\uffff";
    static final String DFA34_minS =
        "\2\6\1\uffff\2\6\1\uffff\1\6\1\uffff\1\25\3\uffff\3\6\1\uffff\3"+
        "\6\1\13\2\40\1\26\1\40\1\uffff\1\13\1\6\2\40\1\25\1\0";
    static final String DFA34_maxS =
        "\1\111\1\104\1\uffff\2\104\1\uffff\1\111\1\uffff\1\111\3\uffff\3"+
        "\104\1\uffff\3\104\1\100\2\111\1\100\1\111\1\uffff\1\66\1\104\2"+
        "\73\1\25\1\0";
    static final String DFA34_acceptS =
        "\2\uffff\1\2\2\uffff\1\7\1\uffff\1\1\1\uffff\1\6\1\3\1\4\3\uffff"+
        "\1\10\10\uffff\1\5\6\uffff";
    static final String DFA34_specialS =
        "\36\uffff\1\0}>";
    static final String[] DFA34_transitionS = {
            "\1\5\31\uffff\1\1\22\uffff\1\3\5\uffff\1\5\6\uffff\1\2\10\uffff"+
            "\1\4",
            "\1\11\4\uffff\1\5\10\uffff\1\10\1\uffff\1\7\10\uffff\1\11\1"+
            "\7\1\uffff\1\5\2\uffff\1\7\15\uffff\1\7\1\uffff\1\6\1\7\2\uffff"+
            "\1\7\1\uffff\1\7\4\uffff\1\7\1\11\2\uffff\1\11",
            "",
            "\1\11\17\uffff\1\12\10\uffff\1\11\1\12\4\uffff\1\12\15\uffff"+
            "\1\12\1\uffff\2\12\2\uffff\1\12\1\uffff\1\12\4\uffff\1\12\1"+
            "\11\2\uffff\1\11",
            "\1\11\17\uffff\1\13\10\uffff\1\11\1\13\4\uffff\1\13\15\uffff"+
            "\1\13\1\uffff\2\13\2\uffff\1\13\1\uffff\1\13\4\uffff\1\13\1"+
            "\11\2\uffff\1\11",
            "",
            "\1\7\17\uffff\1\7\11\uffff\1\15\4\uffff\1\7\15\uffff\1\16\2"+
            "\uffff\1\17\2\uffff\1\7\17\uffff\1\14",
            "",
            "\1\23\12\uffff\1\22\22\uffff\1\21\25\uffff\1\20",
            "",
            "",
            "",
            "\1\24\4\uffff\1\17\23\uffff\1\24\26\uffff\1\17\12\uffff\1\24"+
            "\2\uffff\1\24",
            "\1\24\4\uffff\1\25\10\uffff\1\7\1\uffff\1\7\10\uffff\1\24\2"+
            "\uffff\1\7\2\uffff\1\7\20\uffff\1\26\12\uffff\1\24\2\uffff\1"+
            "\24",
            "\1\24\4\uffff\1\17\23\uffff\1\24\26\uffff\1\17\12\uffff\1\24"+
            "\2\uffff\1\24",
            "",
            "\1\27\16\uffff\1\23\11\uffff\1\27\41\uffff\1\27\2\uffff\1\27",
            "\1\27\16\uffff\1\23\11\uffff\1\27\41\uffff\1\27\2\uffff\1\27",
            "\1\27\30\uffff\1\27\41\uffff\1\27\2\uffff\1\27",
            "\1\5\12\uffff\1\30\11\uffff\1\30\1\uffff\1\5\2\uffff\1\30\15"+
            "\uffff\1\30\1\uffff\2\30\2\uffff\1\30\1\uffff\1\30\4\uffff\1"+
            "\30",
            "\1\31\22\uffff\1\31\14\uffff\1\31\10\uffff\1\31",
            "\1\32\22\uffff\1\17\5\uffff\1\7\17\uffff\1\17",
            "\1\34\11\uffff\1\17\4\uffff\1\33\15\uffff\1\17\1\uffff\2\17"+
            "\2\uffff\1\17\1\uffff\1\17\4\uffff\1\17",
            "\1\35\22\uffff\1\35\14\uffff\1\35\10\uffff\1\35",
            "",
            "\1\17\52\uffff\1\36",
            "\1\17\4\uffff\1\25\10\uffff\1\7\12\uffff\1\17\2\uffff\1\7\23"+
            "\uffff\1\17\12\uffff\1\17\2\uffff\1\17",
            "\1\17\2\uffff\1\7\10\uffff\4\7\13\uffff\1\7",
            "\1\17\2\uffff\1\7\10\uffff\4\7\13\uffff\1\7",
            "\1\23",
            "\1\uffff"
    };

    static final short[] DFA34_eot = DFA.unpackEncodedString(DFA34_eotS);
    static final short[] DFA34_eof = DFA.unpackEncodedString(DFA34_eofS);
    static final char[] DFA34_min = DFA.unpackEncodedStringToUnsignedChars(DFA34_minS);
    static final char[] DFA34_max = DFA.unpackEncodedStringToUnsignedChars(DFA34_maxS);
    static final short[] DFA34_accept = DFA.unpackEncodedString(DFA34_acceptS);
    static final short[] DFA34_special = DFA.unpackEncodedString(DFA34_specialS);
    static final short[][] DFA34_transition;

    static {
        int numStates = DFA34_transitionS.length;
        DFA34_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA34_transition[i] = DFA.unpackEncodedString(DFA34_transitionS[i]);
        }
    }

    class DFA34 extends DFA {

        public DFA34(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 34;
            this.eot = DFA34_eot;
            this.eof = DFA34_eof;
            this.min = DFA34_min;
            this.max = DFA34_max;
            this.accept = DFA34_accept;
            this.special = DFA34_special;
            this.transition = DFA34_transition;
        }
        public String getDescription() {
            return "59:28: ( IDENT | SIMBOLO | NUMERO | VALOR | ident_vector | operacion | asignacion | llamada_funcion )";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA34_30 = input.LA(1);

                         
                        int index34_30 = input.index();
                        input.rewind();

                        s = -1;
                        if ( (synpred51_YACCParser()) ) {s = 7;}

                        else if ( (true) ) {s = 15;}

                         
                        input.seek(index34_30);

                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}

            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 34, _s, input);
            error(nvae);
            throw nvae;
        }

    }
    static final String DFA74_eotS =
        "\62\uffff";
    static final String DFA74_eofS =
        "\10\uffff\1\1\51\uffff";
    static final String DFA74_minS =
        "\1\6\1\uffff\1\6\1\40\1\13\1\66\1\40\2\6\1\25\2\13\1\40\1\13\1\6"+
        "\1\13\1\uffff\3\6\1\13\1\66\1\40\1\25\1\13\2\40\2\13\3\6\1\13\1"+
        "\40\4\6\1\25\1\40\1\6\2\40\1\25\3\6\1\13\1\40\1\13";
    static final String DFA74_maxS =
        "\1\113\1\uffff\2\40\1\73\1\66\1\63\1\40\1\113\1\111\2\73\1\40\1"+
        "\73\1\40\1\73\1\uffff\3\104\1\73\1\66\1\63\1\111\1\73\2\111\2\73"+
        "\3\104\1\73\1\111\3\104\1\113\1\25\1\111\1\113\2\111\1\25\3\104"+
        "\1\66\1\111\1\66";
    static final String DFA74_acceptS =
        "\1\uffff\1\2\16\uffff\1\1\41\uffff";
    static final String DFA74_specialS =
        "\62\uffff}>";
    static final String[] DFA74_transitionS = {
            "\1\1\1\uffff\1\1\1\uffff\1\2\10\uffff\1\1\5\uffff\1\2\4\uffff"+
            "\1\1\1\uffff\2\1\4\uffff\2\2\2\uffff\1\1\15\uffff\2\1\3\uffff"+
            "\1\2\1\1\13\uffff\1\2\1\1",
            "",
            "\1\3\31\uffff\1\4",
            "\1\4",
            "\1\7\10\uffff\1\11\15\uffff\1\6\22\uffff\1\5\5\uffff\1\10",
            "\1\12",
            "\1\13\22\uffff\1\13",
            "\1\14\31\uffff\1\15",
            "\1\20\1\uffff\1\20\1\uffff\1\20\10\uffff\1\20\5\uffff\1\20"+
            "\4\uffff\1\20\1\uffff\1\17\1\20\4\uffff\1\20\1\16\2\uffff\1"+
            "\20\15\uffff\2\20\3\uffff\2\20\13\uffff\2\20",
            "\1\24\12\uffff\1\23\22\uffff\1\22\25\uffff\1\21",
            "\1\7\26\uffff\1\6\30\uffff\1\10",
            "\1\7\57\uffff\1\10",
            "\1\15",
            "\1\7\10\uffff\1\27\15\uffff\1\26\22\uffff\1\25\5\uffff\1\10",
            "\1\20\31\uffff\1\30",
            "\1\20\10\uffff\1\20\15\uffff\1\20\22\uffff\1\31\5\uffff\1\20",
            "",
            "\1\32\16\uffff\1\24\11\uffff\1\32\41\uffff\1\32\2\uffff\1\32",
            "\1\32\16\uffff\1\24\11\uffff\1\32\41\uffff\1\32\2\uffff\1\32",
            "\1\32\30\uffff\1\32\41\uffff\1\32\2\uffff\1\32",
            "\1\7\26\uffff\1\6\22\uffff\1\5\5\uffff\1\10",
            "\1\33",
            "\1\34\22\uffff\1\34",
            "\1\40\12\uffff\1\37\22\uffff\1\36\25\uffff\1\35",
            "\1\20\10\uffff\1\20\15\uffff\1\20\22\uffff\1\41\5\uffff\1\20",
            "\1\43\22\uffff\1\44\2\uffff\1\45\22\uffff\1\42",
            "\1\46\22\uffff\1\46\14\uffff\1\46\10\uffff\1\46",
            "\1\7\26\uffff\1\26\30\uffff\1\10",
            "\1\7\57\uffff\1\10",
            "\1\47\16\uffff\1\40\11\uffff\1\47\41\uffff\1\47\2\uffff\1\47",
            "\1\47\16\uffff\1\40\11\uffff\1\47\41\uffff\1\47\2\uffff\1\47",
            "\1\47\30\uffff\1\47\41\uffff\1\47\2\uffff\1\47",
            "\1\7\26\uffff\1\26\22\uffff\1\25\5\uffff\1\10",
            "\1\1\22\uffff\1\1\2\uffff\1\50\22\uffff\1\1",
            "\1\52\4\uffff\1\51\23\uffff\1\52\26\uffff\1\45\12\uffff\1\52"+
            "\2\uffff\1\52",
            "\1\52\4\uffff\1\51\23\uffff\1\52\26\uffff\1\45\12\uffff\1\52"+
            "\2\uffff\1\52",
            "\1\52\4\uffff\1\51\23\uffff\1\52\26\uffff\1\45\12\uffff\1\52"+
            "\2\uffff\1\52",
            "\1\1\1\uffff\1\1\1\uffff\1\1\10\uffff\1\1\5\uffff\1\1\4\uffff"+
            "\1\1\1\uffff\2\1\4\uffff\2\1\2\uffff\1\1\15\uffff\2\1\1\uffff"+
            "\1\20\1\uffff\2\1\13\uffff\2\1",
            "\1\24",
            "\1\53\22\uffff\1\53\14\uffff\1\53\10\uffff\1\53",
            "\1\1\1\uffff\1\1\1\uffff\1\1\1\20\7\uffff\1\1\5\uffff\1\1\4"+
            "\uffff\1\1\1\uffff\2\1\1\20\3\uffff\2\1\2\uffff\1\1\15\uffff"+
            "\2\1\1\uffff\1\20\1\uffff\2\1\13\uffff\2\1",
            "\1\55\22\uffff\1\56\25\uffff\1\54",
            "\1\57\22\uffff\1\57\14\uffff\1\57\10\uffff\1\57",
            "\1\40",
            "\1\60\4\uffff\1\51\23\uffff\1\60\26\uffff\1\45\12\uffff\1\60"+
            "\2\uffff\1\60",
            "\1\60\4\uffff\1\51\23\uffff\1\60\26\uffff\1\45\12\uffff\1\60"+
            "\2\uffff\1\60",
            "\1\60\4\uffff\1\51\23\uffff\1\60\26\uffff\1\45\12\uffff\1\60"+
            "\2\uffff\1\60",
            "\1\51\52\uffff\1\45",
            "\1\61\22\uffff\1\61\14\uffff\1\61\10\uffff\1\61",
            "\1\51\52\uffff\1\45"
    };

    static final short[] DFA74_eot = DFA.unpackEncodedString(DFA74_eotS);
    static final short[] DFA74_eof = DFA.unpackEncodedString(DFA74_eofS);
    static final char[] DFA74_min = DFA.unpackEncodedStringToUnsignedChars(DFA74_minS);
    static final char[] DFA74_max = DFA.unpackEncodedStringToUnsignedChars(DFA74_maxS);
    static final short[] DFA74_accept = DFA.unpackEncodedString(DFA74_acceptS);
    static final short[] DFA74_special = DFA.unpackEncodedString(DFA74_specialS);
    static final short[][] DFA74_transition;

    static {
        int numStates = DFA74_transitionS.length;
        DFA74_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA74_transition[i] = DFA.unpackEncodedString(DFA74_transitionS[i]);
        }
    }

    class DFA74 extends DFA {

        public DFA74(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 74;
            this.eot = DFA74_eot;
            this.eof = DFA74_eof;
            this.min = DFA74_min;
            this.max = DFA74_max;
            this.accept = DFA74_accept;
            this.special = DFA74_special;
            this.transition = DFA74_transition;
        }
        public String getDescription() {
            return "()* loopback of 100:41: ( defvar )*";
        }
    }
 

    public static final BitSet FOLLOW_primerbloque_in_entrada58 = new BitSet(new long[]{0x0004000000000000L});
    public static final BitSet FOLLOW_segundobloque_in_entrada61 = new BitSet(new long[]{0x0004000000000002L});
    public static final BitSet FOLLOW_tercerbloque_in_entrada63 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_declaraciones_in_primerbloque75 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_seccion_in_declaraciones83 = new BitSet(new long[]{0x8001010000000002L,0x00000000000001C8L});
    public static final BitSet FOLLOW_declaracionvar_in_declaraciones85 = new BitSet(new long[]{0x8001010000000002L,0x00000000000001C8L});
    public static final BitSet FOLLOW_PORCENTAJE_in_seccion96 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_LLAVE_A_in_seccion98 = new BitSet(new long[]{0x208000C002000410L,0x0000000000000420L});
    public static final BitSet FOLLOW_incluir_in_seccion101 = new BitSet(new long[]{0x208000C002000410L,0x0000000000000420L});
    public static final BitSet FOLLOW_record_in_seccion103 = new BitSet(new long[]{0x208000C002000410L,0x0000000000000420L});
    public static final BitSet FOLLOW_defvar_in_seccion105 = new BitSet(new long[]{0x208000C002000410L,0x0000000000000420L});
    public static final BitSet FOLLOW_PORCENTAJE_in_seccion109 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_LLAVE_C_in_seccion111 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ALMOHADILLA_in_incluir123 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_INCLUIR_in_incluir125 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_var_ang_in_incluir127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TIPODEF_in_record139 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_RECORD_in_record141 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_record143 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_cuerpodeclaracion_in_record145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LLAVE_A_in_cuerpodeclaracion159 = new BitSet(new long[]{0x200008C002000400L,0x0000000000000400L});
    public static final BitSet FOLLOW_defvar_in_cuerpodeclaracion161 = new BitSet(new long[]{0x200008C002000400L,0x0000000000000400L});
    public static final BitSet FOLLOW_LLAVE_C_in_cuerpodeclaracion164 = new BitSet(new long[]{0x0000008000000002L});
    public static final BitSet FOLLOW_INTERVALO_in_cuerpodeclaracion167 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_cuerpodeclaracion169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_tipo_in_defvar183 = new BitSet(new long[]{0x0000000100000040L});
    public static final BitSet FOLLOW_ASTERISCO_in_defvar185 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_defvar189 = new BitSet(new long[]{0x0820000400000800L});
    public static final BitSet FOLLOW_ident_vector_in_defvar191 = new BitSet(new long[]{0x0820000400000800L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_defvar195 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_defvar197 = new BitSet(new long[]{0x0800000400000800L});
    public static final BitSet FOLLOW_IGUAL_in_defvar203 = new BitSet(new long[]{0x0008000100000000L});
    public static final BitSet FOLLOW_set_in_defvar205 = new BitSet(new long[]{0x0800000000000800L});
    public static final BitSet FOLLOW_COMA_in_defvar214 = new BitSet(new long[]{0x0000000100000040L});
    public static final BitSet FOLLOW_ASTERISCO_in_defvar216 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_defvar220 = new BitSet(new long[]{0x0820000400000800L});
    public static final BitSet FOLLOW_ident_vector_in_defvar222 = new BitSet(new long[]{0x0820000400000800L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_defvar226 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_defvar228 = new BitSet(new long[]{0x0800000400000800L});
    public static final BitSet FOLLOW_IGUAL_in_defvar234 = new BitSet(new long[]{0x0008000100000000L});
    public static final BitSet FOLLOW_set_in_defvar236 = new BitSet(new long[]{0x0800000000000800L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_defvar246 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_reservadas_in_declaracionvar256 = new BitSet(new long[]{0x0000840100000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_cuerpodeclaracion_in_declaracionvar260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_declaracionvar265 = new BitSet(new long[]{0x0000000100000002L,0x0000000000000001L});
    public static final BitSet FOLLOW_SIMBOLO_in_declaracionvar267 = new BitSet(new long[]{0x0000000100000002L,0x0000000000000001L});
    public static final BitSet FOLLOW_var_ang_in_declaracionvar269 = new BitSet(new long[]{0x0000000100000002L,0x0000000000000001L});
    public static final BitSet FOLLOW_NUEVOBLOQUE_in_segundobloque319 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_reglas_in_segundobloque321 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_nombreregla_in_reglas330 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_reglas332 = new BitSet(new long[]{0x0810000100000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_cuerporegla_in_reglas334 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_reglas336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_nombreregla346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_dentrocuerpo_in_cuerporegla356 = new BitSet(new long[]{0x0010000000000002L});
    public static final BitSet FOLLOW_OR_in_cuerporegla360 = new BitSet(new long[]{0x0000000100000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_dentrocuerpo_in_cuerporegla362 = new BitSet(new long[]{0x0010000000000002L});
    public static final BitSet FOLLOW_SIMBOLO_in_dentrocuerpo376 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_dentrocuerpo380 = new BitSet(new long[]{0x0080040100000002L,0x0000000000000001L});
    public static final BitSet FOLLOW_PORCENTAJE_in_dentrocuerpo382 = new BitSet(new long[]{0x0000040100000002L,0x0000000000000001L});
    public static final BitSet FOLLOW_SIMBOLO_in_dentrocuerpo385 = new BitSet(new long[]{0x0000040100000002L});
    public static final BitSet FOLLOW_accion_in_dentrocuerpo390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LLAVE_A_in_accion405 = new BitSet(new long[]{0x0300000300000040L});
    public static final BitSet FOLLOW_regla_if_in_accion408 = new BitSet(new long[]{0x0300080300000040L});
    public static final BitSet FOLLOW_imprimir_in_accion410 = new BitSet(new long[]{0x0300080300000040L});
    public static final BitSet FOLLOW_asignacion_in_accion413 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_accion415 = new BitSet(new long[]{0x0300080300000040L});
    public static final BitSet FOLLOW_IDENT_in_accion419 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_accion421 = new BitSet(new long[]{0x0300080300000040L});
    public static final BitSet FOLLOW_LLAVE_C_in_accion426 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PRINTF_in_imprimir442 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_imprimir444 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_imprimir446 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_COMA_in_imprimir449 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_VALOR_in_imprimir451 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_imprimir455 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_imprimir457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ASTERISCO_in_asignacion473 = new BitSet(new long[]{0x0200000100000000L});
    public static final BitSet FOLLOW_IDENT_in_asignacion477 = new BitSet(new long[]{0x0000000400000800L});
    public static final BitSet FOLLOW_ident_vector_in_asignacion479 = new BitSet(new long[]{0x0000000400000800L});
    public static final BitSet FOLLOW_PSEUDOVAR_in_asignacion481 = new BitSet(new long[]{0x0000000400000800L});
    public static final BitSet FOLLOW_COMA_in_asignacion485 = new BitSet(new long[]{0x0200000100000000L});
    public static final BitSet FOLLOW_IDENT_in_asignacion488 = new BitSet(new long[]{0x0000000400000800L});
    public static final BitSet FOLLOW_ident_vector_in_asignacion490 = new BitSet(new long[]{0x0000000400000800L});
    public static final BitSet FOLLOW_PSEUDOVAR_in_asignacion492 = new BitSet(new long[]{0x0000000400000800L});
    public static final BitSet FOLLOW_IGUAL_in_asignacion497 = new BitSet(new long[]{0x0208000180000040L,0x0000000000000201L});
    public static final BitSet FOLLOW_GUION_in_asignacion499 = new BitSet(new long[]{0x0208000100000040L,0x0000000000000201L});
    public static final BitSet FOLLOW_resultadoasig_in_asignacion502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_resultadoasig521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SIMBOLO_in_resultadoasig523 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMERO_in_resultadoasig525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_VALOR_in_resultadoasig527 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ident_vector_in_resultadoasig529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_operacion_in_resultadoasig531 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_asignacion_in_resultadoasig533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_llamada_funcion_in_resultadoasig535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_ident_vector554 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_corchetes_in_ident_vector556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CORCHETE_A_in_corchetes576 = new BitSet(new long[]{0x0008000100200000L,0x0000000000000200L});
    public static final BitSet FOLLOW_VALOR_in_corchetes579 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_NUMERO_in_corchetes581 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_operacion_in_corchetes583 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_CORCHETE_C_in_corchetes587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_operacion605 = new BitSet(new long[]{0x0000000080000040L,0x0000000000000012L});
    public static final BitSet FOLLOW_operador_in_operacion613 = new BitSet(new long[]{0x0008000100000000L,0x0000000000000201L});
    public static final BitSet FOLLOW_set_in_operacion615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUEVOBLOQUE_in_tercerbloque662 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_programas_in_tercerbloque664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_definir_in_programas672 = new BitSet(new long[]{0x200000C102000400L,0x0000000000000400L});
    public static final BitSet FOLLOW_funciones_in_programas674 = new BitSet(new long[]{0x0000008100000002L});
    public static final BitSet FOLLOW_funcionyacc_in_programas676 = new BitSet(new long[]{0x0000008100000002L});
    public static final BitSet FOLLOW_ALMOHADILLA_in_definir687 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_DEFINIR_in_definir689 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_definir691 = new BitSet(new long[]{0x0008000000000000L});
    public static final BitSet FOLLOW_NUMERO_in_definir693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_tipo_in_funciones703 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_funciones706 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_funciones708 = new BitSet(new long[]{0x204000C002000400L,0x0000000000000400L});
    public static final BitSet FOLLOW_parametros_in_funciones710 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_funciones712 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_funciones714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_VOID_in_parametros728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_tipo_in_parametros734 = new BitSet(new long[]{0x0008000100000240L});
    public static final BitSet FOLLOW_parametro_in_parametros736 = new BitSet(new long[]{0x0000000000000802L});
    public static final BitSet FOLLOW_COMA_in_parametros739 = new BitSet(new long[]{0x200000C002000400L,0x0000000000000400L});
    public static final BitSet FOLLOW_tipo_in_parametros741 = new BitSet(new long[]{0x0008000100000240L});
    public static final BitSet FOLLOW_parametro_in_parametros743 = new BitSet(new long[]{0x0000000000000802L});
    public static final BitSet FOLLOW_ASTERISCO_in_parametro761 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_parametro764 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
    public static final BitSet FOLLOW_CORCHETES_in_parametro766 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
    public static final BitSet FOLLOW_CADENA_in_parametro772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMERO_in_parametro776 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LLAVE_A_in_cuerpo789 = new BitSet(new long[]{0x630008C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_instrucciones_in_cuerpo791 = new BitSet(new long[]{0x630008C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_LLAVE_C_in_cuerpo794 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_instrucciones_in_cuerpo797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_retorno_in_instrucciones813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_llamada_funcion_in_instrucciones815 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_instrucciones817 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_salir_in_instrucciones820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_continuar_in_instrucciones822 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_defvar_in_instrucciones824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_regla_while_in_instrucciones826 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_regla_if_in_instrucciones828 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_regla_for_in_instrucciones830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_imprimir_in_instrucciones832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_asignacion_in_instrucciones835 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_instrucciones837 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_instrucciones841 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_instrucciones843 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RET_in_retorno859 = new BitSet(new long[]{0x0028000100000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_retorno863 = new BitSet(new long[]{0x0008000100000000L,0x0000000000000001L});
    public static final BitSet FOLLOW_IDENT_in_retorno866 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_NUMERO_in_retorno868 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_SIMBOLO_in_retorno870 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_llamada_funcion_in_retorno872 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_retorno875 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_IDENT_in_retorno880 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_NUMERO_in_retorno882 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_SIMBOLO_in_retorno884 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_llamada_funcion_in_retorno886 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_retorno891 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_WHILE_in_regla_while899 = new BitSet(new long[]{0x0022000000000000L});
    public static final BitSet FOLLOW_condicion_in_regla_while901 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_regla_while903 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOT_in_condicion911 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_condicion914 = new BitSet(new long[]{0x0228002100400000L,0x0000000000000001L});
    public static final BitSet FOLLOW_comparacion_in_condicion916 = new BitSet(new long[]{0x0040000000060000L});
    public static final BitSet FOLLOW_set_in_condicion919 = new BitSet(new long[]{0x022A002100400000L,0x0000000000000001L});
    public static final BitSet FOLLOW_NOT_in_condicion925 = new BitSet(new long[]{0x0228002100400000L,0x0000000000000001L});
    public static final BitSet FOLLOW_comparacion_in_condicion928 = new BitSet(new long[]{0x0040000000060000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_condicion932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_opcionescomparacion_in_comparacion942 = new BitSet(new long[]{0x0000F00800000002L});
    public static final BitSet FOLLOW_comparador_in_comparacion945 = new BitSet(new long[]{0x0228002100400000L,0x0000000000000001L});
    public static final BitSet FOLLOW_opcionescomparacion_in_comparacion947 = new BitSet(new long[]{0x0000F00800000002L});
    public static final BitSet FOLLOW_expr_in_opcionescomparacion962 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_llamada_funcion_in_opcionescomparacion964 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMERO_in_opcionescomparacion966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_opcionescomparacion968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PSEUDOVAR_in_opcionescomparacion970 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SIMBOLO_in_opcionescomparacion972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_incremento_in_opcionescomparacion974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_decremento_in_opcionescomparacion976 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_expr989 = new BitSet(new long[]{0x0208000100000040L,0x0000000000000200L});
    public static final BitSet FOLLOW_asignacion_in_expr992 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_operacion_in_expr994 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_expr997 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IF_in_regla_if1005 = new BitSet(new long[]{0x0022000000000000L});
    public static final BitSet FOLLOW_condicion_in_regla_if1007 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_regla_if1009 = new BitSet(new long[]{0x0000000010000002L});
    public static final BitSet FOLLOW_ELSE_in_regla_if1012 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_regla_if1014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FOR_in_regla_for1028 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_regla_for1030 = new BitSet(new long[]{0x0A00004100000040L});
    public static final BitSet FOLLOW_iteracion_for_in_regla_for1032 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_regla_for1034 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_regla_for1036 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INT_in_iteracion_for1046 = new BitSet(new long[]{0x0200000100000040L});
    public static final BitSet FOLLOW_asignacion_in_iteracion_for1049 = new BitSet(new long[]{0x0A28002100400000L,0x0000000000000001L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_iteracion_for1052 = new BitSet(new long[]{0x0A28002100400000L,0x0000000000000001L});
    public static final BitSet FOLLOW_comparacion_in_iteracion_for1055 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_iteracion_for1058 = new BitSet(new long[]{0x0020002100400802L});
    public static final BitSet FOLLOW_incremento_in_iteracion_for1061 = new BitSet(new long[]{0x0000000000000802L});
    public static final BitSet FOLLOW_decremento_in_iteracion_for1063 = new BitSet(new long[]{0x0000000000000802L});
    public static final BitSet FOLLOW_COMA_in_iteracion_for1068 = new BitSet(new long[]{0x0200000100000040L});
    public static final BitSet FOLLOW_asignacion_in_iteracion_for1070 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_incremento1083 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_incremento1086 = new BitSet(new long[]{0x0040002000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_incremento1088 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_INCREMENTO_in_incremento1091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_incremento1095 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_INCREMENTO_in_incremento1098 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_incremento1100 = new BitSet(new long[]{0x0040000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_incremento1102 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_incremento1124 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_INCREMENTO_in_incremento1126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INCREMENTO_in_incremento1130 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_incremento1132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_decremento1144 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_decremento1147 = new BitSet(new long[]{0x0040000000400000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_decremento1149 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_DECREMENTO_in_decremento1152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_decremento1156 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_DECREMENTO_in_decremento1159 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_decremento1161 = new BitSet(new long[]{0x0040000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_decremento1163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_decremento1185 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_DECREMENTO_in_decremento1187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DECREMENTO_in_decremento1191 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_decremento1193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INTERVALO_in_funcionyacc1210 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_llamada_funcion_in_funcionyacc1213 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_defvar_in_funcionyacc1215 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_funcionyacc1218 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_llamada_funcion1225 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_llamada_funcion1227 = new BitSet(new long[]{0x0048000100000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_VALOR_in_llamada_funcion1231 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_IDENT_in_llamada_funcion1233 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_NUMERO_in_llamada_funcion1235 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_operacion_in_llamada_funcion1237 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_COMA_in_llamada_funcion1241 = new BitSet(new long[]{0x0008000100000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_VALOR_in_llamada_funcion1244 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_IDENT_in_llamada_funcion1246 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_NUMERO_in_llamada_funcion1248 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_operacion_in_llamada_funcion1250 = new BitSet(new long[]{0x0040000000000800L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_llamada_funcion1257 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_MENORQUE_in_var_ang1293 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_var_ang1295 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_MAYORQUE_in_var_ang1297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CONTINUE_in_continuar1303 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_continuar1305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BREAK_in_salir1311 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_PUNTO_COMA_in_salir1313 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_synpred51_YACCParser521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ELSE_in_synpred110_YACCParser1012 = new BitSet(new long[]{0x630004C342080540L,0x0000000000000C00L});
    public static final BitSet FOLLOW_cuerpo_in_synpred110_YACCParser1014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_synpred119_YACCParser1083 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_synpred119_YACCParser1086 = new BitSet(new long[]{0x0040002000000000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_synpred119_YACCParser1088 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_INCREMENTO_in_synpred119_YACCParser1091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_synpred122_YACCParser1095 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_INCREMENTO_in_synpred122_YACCParser1098 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_synpred122_YACCParser1100 = new BitSet(new long[]{0x0040000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_synpred122_YACCParser1102 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_synpred123_YACCParser1124 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_INCREMENTO_in_synpred123_YACCParser1126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_synpred126_YACCParser1144 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_synpred126_YACCParser1147 = new BitSet(new long[]{0x0040000000400000L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_synpred126_YACCParser1149 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_DECREMENTO_in_synpred126_YACCParser1152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_A_in_synpred129_YACCParser1156 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_DECREMENTO_in_synpred129_YACCParser1159 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_IDENT_in_synpred129_YACCParser1161 = new BitSet(new long[]{0x0040000000000002L});
    public static final BitSet FOLLOW_PARENTESIS_C_in_synpred129_YACCParser1163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_synpred130_YACCParser1185 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_DECREMENTO_in_synpred130_YACCParser1187 = new BitSet(new long[]{0x0000000000000002L});

}